解决方案

MySQL中同时更新多个表

UPDATE table1, table2 SET
table1.col1 = 'value',
table2.col1 = 'value'
WHERE
table1.col3 = '567'
AND table2.col6='567'

MySQL中同时更新多行的同一列

UPDATE tableName SET col1='000' WHERE id='3' OR id='5'

MySQL中同时更新不同行的不同列

使用INSERT ... ON DUPLICATE KEY UPDATE 可以更新不同列

INSERT INTO table (id,Col1,Col2) VALUES (1,1,1),(2,2,3),(3,9,3),(4,10,12)
ON DUPLICATE KEY UPDATE Col1=VALUES(Col1),Col2=VALUES(Col2);

或者使用IF语句进行判断

UPDATE table SET Col1 = CASE id 
                          WHEN 1 THEN 1 
                          WHEN 2 THEN 2 
                          WHEN 4 THEN 10 
                          ELSE Col1 
                        END, 
                 Col2 = CASE id 
                          WHEN 3 THEN 3 
                          WHEN 4 THEN 12 
                          ELSE Col2 
                        END
             WHERE id IN (1, 2, 3, 4);
MySQL中如何一次更新多行?

我们知道在MySQL中可以一次插入多行值,有没有办法一次更新多行?

日期:2020-03-24 19:36:09 来源:oir作者:oir