可能这个问题是重复的。我检查了这个问题的答案。但是没有一个能解决我的问题。最后我的问题就是这样。 我有一张像这样的人桌。 我想互相改变ID = 99980和ID = 99982。 ID是PK和自动增量。
答案 0 :(得分:6)
你是说你想前 - 改变它们?
如果是这样,你可以这样做:
UPDATE YOUR_TABLE
SET ID =
CASE ID
WHEN 99980 THEN 99982
ELSE 99980
END
WHERE ID IN (99980, 99982);
答案 1 :(得分:5)
具有相同效果的替代方法是更新两个记录之间不同的非键列:
UPDATE PERSON SET FIRST_NAME='Mary', Age=25 WHERE ID=99980
UPDATE PERSON SET FIRST_NAME='John', Age=45 WHERE ID=99982
答案 2 :(得分:1)
步骤1.重置自动增量属性&主键(将它们关闭)
步骤2.运行这些更新命令:
Update YourTableName SET ID=99982 WHERE ID=99980
和
Update YourTableName SET ID=99980 WHERE FIRST_NAME='Mary' AND ID=99982
步骤3.设置自动增量属性&再次使用主键(将它们打开)。
完成