вчера я задал этот вопрос:Вставка выберите ON DUPLICATE KEY вопрос
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
Где идентификатор_группы и PRODUCTID уникальны.
И я сделать Insert-выбрать-дубликата запрос:
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
Каждый получил идея, если это возможно?