1
我爲某人創建了一個自動清點,並且我的更新已正確完成。值正在更新成功。但是,我注意到我使用的是不添加新行出現在更新中。我試圖讓自己的工作,但我迄今沒有運氣。有人可以解釋爲什麼這種方法無效嗎?主表是'product_list'如果不存在,導入並更新或添加新行CSV MYSQL
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錯誤..所以其我喊不正確的東西..