SQL中的ReNumber自动增量列

时间:2013-05-22 12:32:48

标签: sql primary-key auto-increment

继承我的问题。

我在sql表中有一个自动增量主键让我们说表看起来像这样

ID  |  Name|

1     John

2     Jack

3     Bill 

4     Joe

然后我删除第2行杰克

ID  |  Name|

1     John


3     Bill 

4     Joe

我想要实现的是更改id列,以便表格看起来像这样

ID  |  Name|

1     John


2     Bill 

3     Joe

有办法吗? 提前谢谢

3 个答案:

答案 0 :(得分:4)

我永远不会那样做,但你可以:

  1. 创建一个名为ID2
  2. 的新自动增量主键
  3. 删除ID列
  4. 将ID2列重命名为ID

答案 1 :(得分:0)

快速而肮脏的方式是,(我的方式)->

select * into yournewtable from youroldtable order by yourIdentityColumn;

然后,打开您的新表的设计,确保yourIdentityColumn为Identity(1,1)。

然后,删除您的旧表。

然后,将您的新表重命名为您的旧表! ta-da!

答案 2 :(得分:-1)

Set identity_insert Table off;
Update Table set ID = 3 where ID = 4;
...
Set identity_insert Table on;

表名是