【发布时间】:2017-02-13 12:33:42
【问题描述】:
我正在为某人创建一个自动库存,并且我已正确完成更新。值已成功更新。但是,我注意到我使用的 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 错误..所以是我调用错误。
【问题讨论】: