SQL Server Management Studio 2012中的自增主键

577

我该如何在SQL Server数据库表中实现自动递增主键?我在论坛上查看过,但没有找到如何做到这一点。

我查看了属性,但没有看到选项。我看到一个答案是要前往Identity规范属性,并将其设置为yes,并将Identity increment设置为1,但该部分被禁用,我无法将no更改为yes

肯定有一种简单的方法来实现这一点,但我找不到它。


6
关键列的数据类型是整数(int)吗? - Raab
1
@CoDe aDDict,它目前设置为char(10),但我可以更改它,因为我只是在练习,谢谢。 - Ledgemonkey
12个回答

1

请注意,如果您希望ID元素连续,请小心。因为SQLSERVER ID可能会跳过1000。

例如,在重启之前,ID = 11。在重启后,您向表中插入新行,那么ID将变为1012。


1
你可以这样做:新建表格:
-- create new table with Column ID which is Primary Key and Auto Increment --
    
CREATE TABLE titles(
      id INT NOT NULL IDENTITY(1,1) PRIMARY KEY,  --Primary Key with Auto-Increment --
      keyword        VARCHAR(260),
      status VARCHAR(10),
 );

如果您的表已经存在并且需要将ID列更改为自增和主键,则请参阅以下内容:
ALTER TABLE table DROP COLUMN id; // drop the existing ID in the table 
ALTER TABLE table ADD id int IDENTITY(1, 1) NOT NULL; // add new column ID with auto-increment
ALTER TABLE table ADD CONSTRAINT PK_ident_test PRIMARY KEY CLUSTERED (id); // make it primary key

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接