普通的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批量更新数据
网友评论