我有一个需要更新多个产品行的PHP应用程序。此更新应将给定数字添加到名为estoque的列的当前值。
示例:向产品A添加3个单位,向产品B添加6个单位等
有没有办法只使用一个查询来执行此操作,例如?
insert into venda_produto (`cod`,`estoque`)
values (49477,`estoque`+3), (98798,`estoque`+6)
on duplicate key update `cod`=COALESCE( VALUES(`cod`), `cod`),`estoque`=COALESCE( VALUES(`estoque`), `estoque`)
`
答案 0 :(得分:1)
这应该做你想要的:
INSERT INTO vendo_produto (cod, estoque)
VALUES (49477, 3), (98798, 6)
ON DUPLICATE KEY UPDATE estoque = estoque + VALUES(estoque);