SQL 服务器查询:更新设置一列
SQL Server query : UPDATE SET one column
有没有办法在查询更新中执行SET IN
命令?
UPDATE table_a
SET status IN (A, B, C)
WHERE id IN (1, 2, 3)
我做了语法,但出现错误:
Incorrect syntax near the keyword 'IN'.
你在下面的 set 子句上弄错了是正确的 sql
UPDATE table_a
SET status='A'
WHERE id IN (1,2,3)
如果你想在单个查询中根据 id 进行多次更新
UPDATE table_a
SET status = CASE id
WHEN 1 THEN A
WHEN 2 THEN B
WHEN 3 THEN C
END
WHERE id IN (1,2,3)
我想这是你的要求,根据id设置不同的状态
你也可以使用这个:
INSERT into table_a (id, status)
VALUES
(1, 'A'),
(2, 'B'),
(3, 'C')
ON DUPLICATE KEY UPDATE
status = VALUES(status);
使用 case 语句更新基于条件的值,如 "case when id=1 then 'A' WHEN ID=2 THEN 'B' and so on"。
前任。
更新 tab_a
set status=case when id=1 then 'A' WHEN id=2 then 'B' WHEN id=3 THEN 'C' end
其中 id 在 (1,2,3)
如果您想使用 1、2、3 以外的默认值更新完整的 table
然后
更新 tab_a
set status=case when id=1 then 'A' WHEN id=2 then 'B' WHEN id=3 THEN 'C' else 'Z' end
有没有办法在查询更新中执行SET IN
命令?
UPDATE table_a
SET status IN (A, B, C)
WHERE id IN (1, 2, 3)
我做了语法,但出现错误:
Incorrect syntax near the keyword 'IN'.
你在下面的 set 子句上弄错了是正确的 sql
UPDATE table_a
SET status='A'
WHERE id IN (1,2,3)
如果你想在单个查询中根据 id 进行多次更新
UPDATE table_a
SET status = CASE id
WHEN 1 THEN A
WHEN 2 THEN B
WHEN 3 THEN C
END
WHERE id IN (1,2,3)
我想这是你的要求,根据id设置不同的状态
你也可以使用这个:
INSERT into table_a (id, status)
VALUES
(1, 'A'),
(2, 'B'),
(3, 'C')
ON DUPLICATE KEY UPDATE
status = VALUES(status);
使用 case 语句更新基于条件的值,如 "case when id=1 then 'A' WHEN ID=2 THEN 'B' and so on"。 前任。 更新 tab_a set status=case when id=1 then 'A' WHEN id=2 then 'B' WHEN id=3 THEN 'C' end 其中 id 在 (1,2,3)
如果您想使用 1、2、3 以外的默认值更新完整的 table 然后 更新 tab_a set status=case when id=1 then 'A' WHEN id=2 then 'B' WHEN id=3 THEN 'C' else 'Z' end