加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

怎样将auto_increment键插入SQL Server表

发布时间:2021-01-19 19:09:24 所属栏目:编程 来源:网络整理
导读:我想将行插入到具有独一的非自动递增主键的表中. 是否有本机SQL函数来评估最后一个密钥并将其递增,可能我必需分两步执行此操纵: key = select max(primary.key) + 1INSERT INTO dbo.TABLE (primary.key,field1,fiels2) VALUES (KEY,value1,value2) 办理要领

我想将行插入到具有独一的非自动递增主键的表中.

是否有本机SQL函数来评估最后一个密钥并将其递增,可能我必需分两步执行此操纵:

key = select max(primary.key) + 1

INSERT INTO dbo.TABLE (primary.key,field1,fiels2) VALUES (KEY,value1,value2)

办理要领

从整个评述来看,您在表上的主键不是标识列.

假如您的SQL Server版本是SQL 2012,则应查察序列:http://msdn.microsoft.com/en-us/library/ff878091.aspx

在其他版本中,您必要行使主键列的IDENTITY属性(http://msdn.microsoft.com/en-us/library/aa933196(v=sql.80).aspx)从头建设表或行使两步法.

假如回收两步法,则必要确保同时运行的插入不会最终行使沟通的新值.最简朴的要领是将select和insert插入一个值并行使serializable表提醒:

CREATE TABLE dbo.Tbl1(id INT PRIMARY KEY,val1 INT,val2 INT)

INSERT INTO dbo.Tbl1(id,val1,val2)
VALUES((SELECT ISNULL(MAX(id)+1,0) FROM dbo.Tbl1 WITH(SERIALIZABLE,UPDLOCK)),42,47);

SELECT * FROM dbo.Tbl1;

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读