0
我試圖更新一個數據庫中的所有價格與另一個產品代碼匹配的位置(這不是主鍵)的價格,同時其他領域的列不變。更新字段與另一個數據庫中的字段匹配
INSERT INTO inventory
SELECT * FROM temporary_table
ON DUPLICATE KEY UPDATE price = VALUES(price)
這只是重複了整個產品,其中代碼匹配提前
我試圖更新一個數據庫中的所有價格與另一個產品代碼匹配的位置(這不是主鍵)的價格,同時其他領域的列不變。更新字段與另一個數據庫中的字段匹配
INSERT INTO inventory
SELECT * FROM temporary_table
ON DUPLICATE KEY UPDATE price = VALUES(price)
這只是重複了整個產品,其中代碼匹配提前
感謝嘗試使用替代的,而不是插入。從庫存表中選擇除了要更新的那個以外的所有列(價格)
REPLACE INTO inventory
SELECT b.col1, b.col2......... a.price
FROM temporary_table a, inventory b
where a.product_code = b.product_code
INSERT'不是'UPDATE'數據的好方法。 – mishik
考慮提供一個相同的sqlfiddle。 – Strawberry