使用where语句批量更新mysql

如何批量更新mysql数据?如何定义这样的事情:

UPDATE `table` 

WHERE `column1` = somevalues

SET `column2` = othervalues

具有一些值,例如:

VALUES

('160009'),

('160010'),

('160011');

和其他值:

VALUES

('val1'),

('val2'),

('val3');

也许用mysql是不可能的?一个PHP脚本?

回答:

在这种情况下,最简单的解决方案是使用ON DUPLICATE KEY

UPDATE构造。它的工作速度非常快,并且可以轻松完成工作。

INSERT into `table` (id, fruit)

VALUES (1, 'apple'), (2, 'orange'), (3, 'peach')

ON DUPLICATE KEY UPDATE fruit = VALUES(fruit);

或使用CASE建筑

UPDATE table

SET column2 = (CASE column1 WHEN 1 THEN 'val1'

WHEN 2 THEN 'val2'

WHEN 3 THEN 'val3'

END)

WHERE column1 IN(1, 2 ,3);

以上是 使用where语句批量更新mysql 的全部内容, 来源链接: utcz.com/qa/417430.html

回到顶部