使用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);
上一篇:java – 提高通过spring-mail发送批量电子邮件的性能


下一篇:用自定义定界符和C#中一些非常大的字段值解析文本的最快方法是什么?