【发布时间】:2020-09-10 00:21:06
【问题描述】:
例如
Set col1 to A WHERE id=X
set col1 to B WHERE ID=Y
ID 是唯一的,但不是主键。我想在一个更新查询中做到这一点
【问题讨论】:
标签: php mysql sql-update rows
例如
Set col1 to A WHERE id=X
set col1 to B WHERE ID=Y
ID 是唯一的,但不是主键。我想在一个更新查询中做到这一点
【问题讨论】:
标签: php mysql sql-update rows
您可以使用CASE表达式根据ID设置值:
UPDATE yourtable
SET col1 = CASE ID WHEN X THEN A
WHEN Y THEN B
ELSE col1
END
注意ELSE 子句的使用,这样ID 不等于X 或Y 时col1 的值不会改变。这也可以通过WHERE 子句来实现:
UPDATE yourtable
SET col1 = CASE ID WHEN X THEN A
WHEN Y THEN B
END
WHERE ID IN (X, Y)
【讨论】:
你应该像这样使用多个语句:
update table1 set col1 = 'A' where id = 1;
update table1 set col1 = 'B' where id = 2;
【讨论】: