J'ai posé cette question hier.
donc j'ai trouvé que je pouvais le faire en faisant ceci:sélectionner ON KEY question DUPLICATE
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);
Mais je veux la quantité à se mettre à jour en ajoutant la quantité à la quantité existsing déjà.
donc je veux quelque chose comme ceci:
ON DUPLICATE KEY UPDATE
product_quantity.quantity =
VALUES(product_quantity.quantity) + product_quantity.quantity;
Donc, si je suis arrivé:
id----groupId----productId----quantity 1 ----- 2 ------------2--------------5 2 ----- 3 ------------2--------------5
Où groupId et productId sont uniques.
Et je fais la requête d'insertion-select-double:
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 doit ajouter la quantité sur la ligne 1 à la ligne 2, il ressemblerait à ceci:
id----groupId----productId----quantity 1 ----- 2 ------------2--------------5 2 ----- 3 ------------2--------------10
Quelqu'un at-il une idée si c'est possible?