2009-05-31 59 views
0

一个星期前,一些数据被导入到数据库表中。简单的表:如何在我的数据库表上修改此标识int?

ID INT PK NOT NULL IDENTITY 名称VARCHAR(20)

现在,我今天发现的第一个ID从0开始问孩子,他在他的测试期间补种它。所以第一项是零。是一场意外。

我不确定如何最好地更新值。我怎样才能把一切都推上一个号码?让我很难受的是,还有一些FK依赖关系。如果我有Cascade Update,应该修复依赖关系吗?

此外,我应该更新每个数字(但是我这样做??)从上而下..例如。从最高的数字开始,然后是+1。然后下去。

+0

你在谈什么数据库软件? – 2009-05-31 14:59:29

回答

4

首先,你为什么强调? ID = 0是完全有效的,如果有点不寻常。 (注意零NULL

如果你真的想摆脱的0:

  • 添加一个虚拟的记录,
  • 注意到它的ID,
  • 如果有外指向记录0的键,将它们更新为虚拟记录。
  • 删除该记录。 (推进内部ID计数器)。
  • 只需将ID 0更改为该值即可。
+0

这不是我强调,只是我喜欢我的ID全部以1开头:)很好,干净的分贝..所有一致的:) – 2009-05-31 15:14:22