如何批量更新mysql数据?
如何定义这样的东西:
UPDATE `table`
WHERE `column1` = somevalues
SET `column2` = othervalues
具有一些值,例如:
VALUES
('160009'),
('160010'),
('160011');
和其他值:
VALUES
('val1'),
('val2'),
('val3');
也许用 mysql 是不可能的?
一个 PHP 脚本?
您的情况最简单的解决方案是使用ON DUPLICATE KEY UPDATE http://dev.mysql.com/doc/refman/5.7/en/insert-on-duplicate.html建造。它的工作速度非常快,并且以简单的方式完成工作。
INSERT into `table` (id, fruit)
VALUES (1, 'apple'), (2, 'orange'), (3, 'peach')
ON DUPLICATE KEY UPDATE fruit = VALUES(fruit);
或使用CASE https://dev.mysql.com/doc/refman/5.7/en/case.html建造
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);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)