美文网首页
MySQL 一条SQL同时UPDATE多条记录

MySQL 一条SQL同时UPDATE多条记录

作者: 钟离惜 | 来源:发表于2020-09-03 20:05 被阅读0次
普通的UPDATE语句用来更新一条数据。

UPDATE tableNmae SET columnName = value WHERE columnName = otherValue;

扩充条件的UPDATE语句可以用来更新多条数据,但是只能用来设置相同的值。

UPDATE tableNmae SET columnName = value WHERE columnName IN (otherValue1, otherValue2);
当然还有其他写法,这里只是举个例子。

使用一条UPDATE语句更新多条数据并且分别设置各自的值。
UPDATE tableName SET
    column1 = CASE column2
        WHEN column1Value1 THEN column2Value1
        WHEN column1Value2 THEN column2Value2
        WHEN column1Value3 THEN column2Value3
    END
WHERE column2 IN (column2Value1, column2Value2, column2Value3)

首先要使用IN限定修改的数据,不使用IN的话在此语句中未进行设置值的会变成NULL或者默认值。
该语句会将column2值为相应column2Value的数据column1字段修改为对应的column1Value

UPDATE tableName SET
    column1 = CASE column2
        WHEN column1Value1 THEN column2Value1
        WHEN column1Value2 THEN column2Value2
        WHEN column1Value3 THEN column2Value3
    END,
    column3 = CASE column2
        WHEN column3Value1 THEN column2Value1
        WHEN column3Value2 THEN column2Value2
        WHEN column3Value3 THEN column2Value3
    END
WHERE column2 IN (column2Value1, column2Value2, column2Value3)

转载文章
MySQL批量更新数据

相关文章

网友评论

      本文标题:MySQL 一条SQL同时UPDATE多条记录

      本文链接:https://www.haomeiwen.com/subject/rfqosktx.html