如何在MySQL中的int列中更新多行添加值?

时间:2017-01-12 10:05:47

标签: php mysql

我有一个需要更新多个产品行的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`)

`

1 个答案:

答案 0 :(得分:1)

这应该做你想要的:

INSERT INTO vendo_produto (cod, estoque)
VALUES (49477, 3), (98798, 6)
ON DUPLICATE KEY UPDATE estoque = estoque + VALUES(estoque);