sql-server – 自动增加bigint列?

我想为我插入表中的每一行数据都有一个bigint ID列.我希望sql server生成数字.我尝试使用bigint列ID创建一个表.我希望这是自动增量,第一个值为1.我尝试在我的create table语句中使用[ID] [bigint] AUTO_INCREMENT NOT NULL,但我得到错误 – ‘AUTO_INCREMENT’附近的语法不正确.我该怎么做呢 ?

解决方法

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

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

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

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

编辑:

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

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

DECLARE @yourVariable = SELECT MAX(ID) FROM YourTable

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

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...