如何批量更新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);