我有一张带有主键ShopId的表(设置为非独特)。
脚本添加ShopId的行如下(主键)
0
1
2
3
4
5
500
501
502
503
8
9
10
600 -- higher value
400
300
当我使用INSERT语句时,我想用ShopId 601添加一个新行(带有自动增量)。
我想知道是否可以在数据库级自动执行此操作。
CREATE TABLE dbo.Shops
(ShopId int NOT NULL CONSTRAINT PK_Shops_ShopId PRIMARY KEY,
Name nvarchar(64) NOT NULL,
LocationId int NOT NULL )
答案 0 :(得分:2)
根据您的评论,您的脚本必须只运行一次。
因此,请将您的列声明为identity
,对于您的脚本,您可以使用
SET IDENTITY_INSERT db_name.table_name ON
run the script
SET IDENTITY_INSERT db_name.table_name OFF
这允许您将值插入IDENTITY
列。
之后,增量将以最高值+1开始。
请参阅msdn