SQL Server仅含IDENTITY主键列的单表插入记录实现方法问询
场景1:不指定id,由IDENTITY自动生成值插入
因为你的表仅含带IDENTITY属性的单主键列,直接使用DEFAULT VALUES关键字即可完成插入,SQL语句如下:
INSERT INTO my_table DEFAULT VALUES;
执行后SQL Server会自动生成符合IDENTITY规则的自增值填入id列。
场景2:手动指定id值插入
如果需要手动写入自定义的id值,需要先开启对应表的IDENTITY_INSERT权限,插入完成后建议关闭该配置,SQL语句如下:
-- 开启IDENTITY手动插入权限 SET IDENTITY_INSERT my_table ON; -- 插入时必须显式指定列名 INSERT INTO my_table (id) VALUES (1001); -- 插入完成后关闭权限(最佳实践) SET IDENTITY_INSERT my_table OFF;
注意事项
IDENTITY_INSERT配置仅在当前会话生效,且同一会话中只能同时开启一张表的该配置- 开启
IDENTITY_INSERT后,插入语句必须显式指定id列名,否则会执行报错
内容的提问来源于stack exchange,提问作者mipo256
相关产品推荐
相关产品推荐

