如何重置sql表上的主键计数器并使用新的主键更新每一行?
我会首先在表中添加另一列,用新的PK填充它.
然后我将使用update语句来更新所有相关表中的新fk字段.
然后你可以删除旧的PK和旧的fk字段.
编辑:是的,正如伊恩所说,你将不得不放弃然后重新创建所有外键约束.
不确定您正在使用哪个DBMS但是它恰好是SQL Server:
SET IDENTITY_INSERT [MyTable] ON
允许您更新/插入主键列.然后当你完成更新键时(如果逻辑很复杂,可以使用CURSOR)
SET IDENTITY_INSERT [MyTable] OFF
希望有所帮助!