gpt4 book ai didi

mysql - 导入包含多条记录的 CSV - 更新多行

转载 作者:搜寻专家 更新时间:2023-10-30 23:39:09 24 4
gpt4 key购买 nike

我有大约 10 万个商品编号的表格:

id, itemnumber,text,orignal_qty,counted_qty

我现在正在导入一个可能包含 10 万条记录的 CSV 文件:

itemnumber_in,数量

其中包含实际库存的计数 - 然后我现在需要为 CSV 中的每条记录更新主数据库中的“counted_qty”。

我该怎么做?我会从头到尾阅读文件中的每一行并执行以下操作:

UPDATE maintable SET counted_qty = counted_qty + qty WHERE itemnumber_in = itemnumber

或者是否有更智能/更快速的方法。

最佳答案

使用 LOAD DATA 读取 CSV 文件,然后使用连接更新 itemnumbers:

UPDATE itemnumbers a INNER JOIN import b
ON a.itemnumber = b.itemnumber_in
SET a.counted_qty = a.counted_qty + b.qty

这种方法的好处是 itemnumbers 中的记录只有在它与输入 CSV 文件中的内容匹配时才会更新。

更新:

如果您首先想通过 ID 号聚合导入的数据,那么您可以在 UPDATE 语句中使用子查询:

UPDATE itemnumbers a
INNER JOIN
(
SELECT itemnumber_in, SUM(qty) AS qty
FROM import
GROUP BY itemnumber_in
) b
ON a.itemnumber = b.itemnumber_in
SET a.counted_qty = a.counted_qty + b.qty

关于mysql - 导入包含多条记录的 CSV - 更新多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37383430/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com