如何修复我的数据库表上的 Identity int ?
大约一周前,一些数据被导入到数据库表中。 简单表:
Id INT PK NOT NULL IDENTITY Name VARCHAR(20)
现在,我今天注意到第一个 id 从 0 开始。问孩子,他在测试期间重新播种它。 所以第一个条目是零。 是一场意外。
我不确定如何最好地更新该值。 我怎样才能把所有的东西都推高一个数字? 让我痛苦的是还有一些 FK 依赖性。 如果我有级联更新,是否应该修复依赖项?
另外,我应该从上到下更新每个数字(但是我这样做吗??)。 从最大的数字开始,然后+1。 然后下去。
A week or so ago some data got imported into a db table. Simple table:
Id INT PK NOT NULL IDENTITY
Name VARCHAR(20)
Now, I noticed today that the first id starts at 0. Asking the kid, he was reseeding it during his testing. So the first entry was a zero. Was an accident.
I'm not sure how to best update the value. How can I push everything up one number? What pains me is that there's also some FK dependencies. If I have Cascade Update, should that fix the dependencies?
Also, should I update each number (however I do that??) from the top down .. eg. from the highest number, then +1. Then go down.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先,你为什么有压力? ID=0 是完全有效的,尽管有点不寻常。 (注意零NOT
NULL
)如果你真的想摆脱0:
First of all, why are you stressing? ID=0 is complete valid, if a bit unusual. (Note that Zero Is NOT
NULL
)If you really want to get rid of the 0: