1.建表(Create table)时使用IDENTITY (SEED,INCREMENT)
其中SEED是起始值,INCREMENT是增量。
例:
CREATE TABLE mytable1
(
[user_id] BIGINT NOT NULL
IDENTITY(1, 1) ,
[user_mail] NVARCHAR(255)
)
命令已成功完成。
2.修改表(Alter table)列的自增长
SQLServer不允许修改已经存储的自增长列,但是可以为一个没有自增长标识列的表添加自增长列
例:
DROP TABLE mytable1 -- 删除刚才创建的表
CREATE TABLE mytable1
(
[user_mail] NVARCHAR(255)
)
ALTER TABLE mytable1 ADD [user_id] BIGINT IDENTITY(1,1)
命令已成功完成。
3.手动插入自增长字段的值
例:
SET IDENTITY_INSERT mytable1 ON -- 开启 手动
INSERT INTO mytable1
( [user_id], [user_mail] )
VALUES ( 10, N'oyi319@email.com' )
SET IDENTITY_INSERT mytable1 OFF -- 关闭 手动
(1 行受影响)
4.更改当前SEED值
a.用DBCC CHECKIDENT重新设置表的标识列的值
例:
DBCC CHECKIDENT(mytable1, RESEED, 4)
检查标识信息: 当前标识值 '10',当前列值 '4'。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
b.不重设当前值,只是查看当前值的报告
例:
DBCC CHECKIDENT(mytable1, NORESEED)
检查标识信息: 当前标识值 '4',当前列值 '10'。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。