0
我昨天問過這個問題:插入選擇對重複的關鍵問題
Insert select with a twist question
現在我有我想要的數據來更新自身,如果它是一個重複行的問題。
所以我發現我可以通過這樣做:
insert into product_quantity
(groupId, productId, quantity)
select 3, productId, quantity
from product_quantity
ON DUPLICATE KEY UPDATE
product_quantity.quantity = VALUES(product_quantity.quantity);
但我想數量通過添加量已經existsing量進行自我更新。
所以,我想是這樣的:
ON DUPLICATE KEY UPDATE
product_quantity.quantity =
VALUES(product_quantity.quantity) + product_quantity.quantity;
所以,如果我得到:
id----groupId----productId----quantity 1 ----- 2 ------------2--------------5 2 ----- 3 ------------2--------------5
其中groupId和productid是獨一無二的。
,我也插入選重複的查詢:
insert into product_quantity
(groupId, productId, quantity)
select 3, 2, 5
from product_quantity
ON DUPLICATE KEY UPDATE
product_quantity.quantity = VALUES(product_quantity.quantity) + *OLD QUANTITY*;
MySql的應在第1行添加量行到第2,所以它看起來像這樣:
id----groupId----productId----quantity 1 ----- 2 ------------2--------------5 2 ----- 3 ------------2--------------10
任何人有一個想法,如果這是可能的?