如何将auto_increment键插入SQL Server表
发布时间:2021-01-19 11:26:51 所属栏目:MsSql教程 来源:网络整理
导读:我想将行插入到具有唯一的非自动递增主键的表中. 是否有本机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; (编辑:均轻资讯网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql-server – 在HashBytes函数中选择正确的算法
- sql-server – 如果我选择超过15个字段,我会遇到灾难性的失
- 数据库:建模电子表格的最佳方式
- sql-server – 如何对服务器上的所有数据库执行SQL
- Powershell Invoke-Sqlcmd的错误检测并不总是有效?
- sql-server-2005 – 寻求0x0B
- 如何在没有matlabs数据库工具箱的情况下从matlab访问postgr
- sql-server – 执行计划与STATISTICS IO订单
- SqlDateTime溢出是什么原因?如何解决?
- sql-server – 存储过程和OPTIMIZE FOR UNKNOWN
站长推荐
热点阅读


