Her*_*art 3 sql-server swap key foreign-keys
我看了一下这个问题:sql swap主键值
所以我得到了以下脚本:
UPDATE t, t as t2
SET t.id = t2.id, t2.id = t.id
WHERE t.id = 1 AND t2.id = 2
Run Code Online (Sandbox Code Playgroud)
但我无法将其转换为有效的SQL Server语法.
请帮我 :)
提前致谢!
关于什么
UPDATE t SET t.id = (CASE t.id WHEN 1 THEN 2 ELSE 1 END)
WHERE t.id IN (1, 2)
Run Code Online (Sandbox Code Playgroud)
看起来您正在尝试将表连接到自身,以便您可以一次更新两个记录.我不确定是否可能,但肯定不需要.
只需找到两个记录,然后通过从两个id的总和中减去它来计算另一个id:
update t
set id = (1 + 2) - id
where id = 1 or id = 2
Run Code Online (Sandbox Code Playgroud)
(注意:这要求密钥是数字.虽然这是最常见的情况,但某些非数字类型也可以用作密钥.)
| 归档时间: |
|
| 查看次数: |
1035 次 |
| 最近记录: |