SQL Server 2005:ALTER COLUMN AUTO_INCREMENT并设置AUTO_INCREMENT的启动ID

时间:2016-11-11 19:15:20

标签: sql-server

我只是搜索并尝试了2个小时,但我仍然无法解决这个问题

我想将数据从另一个数据库迁移到我的数据库。我创建了一个表tbl_animal并插入了一些值:

CREATE TABLE tbl_animal
(
    id INT NOT NULL, 
    name VARCHAR (150) NOT NULL
) ;

INSERT INTO tbl_animal (id, name) VALUES (111, 'dog');
INSERT INTO tbl_animal (id, name) VALUES (222, 'bird');

,数据就像这样

______________
id    |   name|
--------------
111   |   dog |
222   |  bird |
--------------

然后我想将ID设置为AUTO_INCREMENT PRIMARY KEY,将SET AUTO_INCREMENT设置为从223开始

所以如果我跑

INSERT INTO tbl_animal (name) VALUES ('fish')

数据将是这样的

______________
id    |   name|
--------------
111   |   dog |
222   |  bird |
223   |  fish |
--------------

我尝试了很多解决方案,但仍然不能。我尝试过的最后一个查询是

ALTER TABLE tbl_animal 
    ALTER COLUMN id int NOT NULL IDENTITY(1,1) PRIMARY KEY;

以上查询抛出错误代码(156):

  

关键字“IDENTITY”

附近的语法不正确

感谢您的帮助

1 个答案:

答案 0 :(得分:3)

无法在现有列中添加标识。然而,一切都没有丢失。如果你可以再次创建表,你可以很容易地做这种事情。这样的事情。

int&&

但是,如果你无法重新创建表格,那就太复杂了。如果是这种情况,请告诉我,我可以帮助你。