SQL Server 标识符从1开始(mssql id从1开始)
SQL Server标识符开始于1,这代表着它是一个基本的数据库实例,在这里可以使用标识符。SQL Server标识符开始于1,可以帮助人们自动定义和标记他们数据库实例中的项目。
例如,要创建一个表,可以将其赋值给标识符,然后在实例中创建表及其所有子对象,如字段、索引等。从标识符的角度看,和插入到一个表中的数据没有太大区别,因为标识符是一个特殊的字段。编码范围是从1到18446744073709551615。可以使用任何数字,其范围介于1和18446744073709551615之间,当用户使用SELECT时,SQL Server表中的标识符必须是从1开始的。
要在SQL Server中定义标识符,将其定义为bigint类型,如下所示:
CREATE TABLE TestTable
(
TestID bigint GENERATED ALWAYS AS IDENTITY (1,1) PRIMARY KEY
)
GENERATED ALWAYS AS IDENTITY (1,1)告诉SQL Server,标识符从1开始,每次添加新数据时,使用增量1递增标识符。
此外,还可以使用T-SQL脚本,确保此值从1开始,如下:
DECLARE @ID BIGINT
SET @ID = (SELECT MIN(TestID) FROM TestTable)
IF @ID > 1
BEGIN
SET IDENTITY_INSERT TestTable ON
DECLARE @CNT INT
SELECT @CNT = MAX(TestID) FROM TestTable WHERE TestID > 1
WHILE @ID
BEGIN
INSERT INTO TestTable (TestID) VALUES (@ID)
SET @ID = @ID + 1
END
SET IDENTITY_INSERT TestTable OFF
END
上面的T-SQL中的TestTable是表的名称,TestID是标识符的名称,第一行脚本将变量@ID设置为TestTable表中最小的标识符,如果@ID大于1,则开启标识符插入模式,新数据将从@ID的值开始插入,达到@CNT的值,然后关闭标识符插入模式,SQL Server就能自动定义标识符从1开始了。
标识符从1开始,是SQL Server最基本的属性。它可以自动为每条记录分配一个唯一的ID,以满足用户自己的要求,从而更加方便快捷地进行数据处理操作。