gpt4 book ai didi

php - 如果 CSV MYSQL 不存在,则导入并更新或添加新行

转载 作者:行者123 更新时间:2023-11-28 23:19:53 32 4
gpt4 key购买 nike

我有一个为某人创建的自动 list ,并且我已正确完成更新。值更新成功。但是,我注意到我使用的 mysql 没有添加出现在更新中的新行。我试图让它自己工作,但到目前为止我没有运气。有人可以阐明为什么这不起作用吗?主表是“product_list”

CREATE TEMPORARY TABLE temp_update_table (SKU VARCHAR(50), PRODUCT_NAME VARCHAR(255), QTY smallint(6), COMMENTS text);

// Create Temporary Table

LOAD DATA LOCAL INFILE '/home/useraccount/products.csv' INTO TABLE temp_update_table FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' (SKU, PRODUCT_NAME, QTY);

// Insert CSV Contents into table

UPDATE product_list INNER JOIN temp_update_table on temp_update_table.SKU = product_list.SKU SET product_list.QTY = temp_update_table.QTY;

// Update Current Quantities to match new ones.

INSERT INTO product_list(SKU, PRODUCT_NAME, QTY) SELECT NEW.SKU, NEW.PRODUCT_NAME, NEW.QTY FROM temp_update_table as NEW LEFT JOIN product_list as OLD ON OLD.SKU = NEW.SKU WHERE OLD.SKU IS NULL:"

// If there are any new rows, add them (This is the line where the problem lies?)

DROP TEMPORARY TABLE temp_update_table;
// Remove Temp Table

没有任何 SQL 错误.. 所以是我调用不正确。

最佳答案

我设法在加载临时表后使用重复键解决了我的问题:

insert into product_list(SKU,PRODUCT_NAME,QTY)
select SKU, PRODUCT_NAME, QTY FROM temp_update_table
ON DUPLICATE KEY UPDATE QTY = values(QTY);

关于php - 如果 CSV MYSQL 不存在,则导入并更新或添加新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42204169/

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