当前位置:  开发笔记 > 数据库 > 正文

重新编号主键

如何解决《重新编号主键》经验,为你挑选了2个好方法。

如何重置sql表上的主键计数器并使用新的主键更新每一行?



1> Galwegian..:

我会首先在表中添加另一列,用新的PK填充它.

然后我将使用update语句来更新所有相关表中的新fk字段.

然后你可以删除旧的PK和旧的fk字段.

编辑:是的,正如伊恩所说,你将不得不放弃然后重新创建所有外键约束.



2> Zachary Yate..:

不确定您正在使用哪个DBMS但是它恰好是SQL Server:

SET IDENTITY_INSERT [MyTable] ON

允许您更新/插入主键列.然后当你完成更新键时(如果逻辑很复杂,可以使用CURSOR)

SET IDENTITY_INSERT [MyTable] OFF

希望有所帮助!

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有