我必须编写这个逻辑:
UPDATE imported
SET col1 = 'first'
WHERE col2 = 'value one',
SET col1 = 'second'
WHERE col2 = 'value two';
一个查询中会有多个更新,所以我不想通过为每一行单独更新来填充服务器
此外:如果可以组合 2 个条件,例如 Where col2='this' AND col3='that'
最佳答案
我在 CASE
语句中添加了多个条件的示例。
UPDATE imported
SET col1 = CASE
WHEN col2 = 'value one' THEN 'first'
WHEN col2 = 'value two' THEN 'second'
WHEN col2 = 'other val' AND col3 = 'condition' THEN 'third value'
END
WHERE col2 IN ('value one', 'value two')
OR (col2 = 'other val' AND col3 = 'condition')
关于mysql - 如何在 SQL 中编写此 UPDATE,以更新具有不同 WHERE 条件的多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8117860/