自动增加bigint列?

Ste*_*eam 8 sql-server sql-server-2005

我想为我插入表中的每一行数据都有一个bigint ID列.我希望Sql server生成数字.我试图创建一个带有bigint列ID的表.我希望这是自动增量,第一个值为1.我尝试[ID] [bigint] AUTO_INCREMENT NOT NULL,在我的create table语句中使用,但是我收到了错误 - Incorrect syntax near 'AUTO_INCREMENT'.我该怎么做?

ImG*_*reg 17

你能不能只把它声明为IDENTITY列:

[ID] [bigint] IDENTITY(1,1)NOT NULL;

1,1指的是起始索引及其增加量.

注意:执行插入时,不必为ID列提供值.它会自动选择它.如果需要,您可以稍后修改这些值.

编辑:

或者,您可以使用存储过程来处理所有插入.

示例:
存储过程将像普通插入一样接收变量(每列一个变量).存储过程中的逻辑可以选择表中当前存在的最大值,并选择该值作为其最大值.

DECLARE @yourVariable = SELECT MAX(ID) FROM YourTable
Run Code Online (Sandbox Code Playgroud)

使用@yourVariable作为插入值.您可以根据需要增加或更改值.