如何在SQL中获取主键的身份

编程入门 行业动态 更新时间:2024-10-27 00:32:24
本文介绍了如何在SQL中获取主键的身份的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

大家好, 我有一个表作为emp(empid主键,标识,sal,dept). 我插入了10个值,例如

Hi all, I have a table as emp(empid primary key,identity,sal,dept). I inserted 10 values like

empid sal dept 1 2000 3 2 3000 2 3 500 1 . ... . . ... . . ... . 10 2000 3

现在,我将empid从5删除为10. 现在,我插入的新值是从11开始的...... 但是这里需要将empid id设为6 ........ 我怎么能克服这个.........请任何人帮助我 预先感谢..........

Now I deleted empid from 5 to 10. Now I am inserting new values it''s empid takes from 11..... but here will need to takes empid id as 6........ How can I over come this .........please any body help to me Thanks in advance..........

推荐答案

如果SET IDENTITY_INSERT为ON,则尝试删除中间行数据,如果尝试再次删除要添加新行,新行将花费max(id)+1而不是中间行值. 为了手动插入中间行,您必须通过将SET IDENTITY_INSERT设置为off来完成. SET IDENTITY_INSERT OFF 插入emp(主键,标识,sal,dept)值(6个,您的值)中. 然后再次尝试输入IDENTITY_INSERT.那么它将继续以id为 max(id)+1. 设置IDENTITY_INSERT ON If SET IDENTITY_INSERT is ON then if you try to delete the middle rows data and again if you try to add the new row it will take max(id)+1 for the new row not the middle rows values. Inorder to insert middle rows manually you have to do it with by setting SET IDENTITY_INSERT to off. SET IDENTITY_INSERT OFF insert into emp(empid primary key,identity,sal,dept) values (6, your values). then again try to on the IDENTITY_INSERT. then it will continue with taking id as max(id)+1. SET IDENTITY_INSERT ON <pre lang="SQL"> SET IDENTITY_INSERT OFF insert into emp(empid primary key,identity,sal,dept) values (6, your values). SET IDENTITY_INSERT ON

嗨 您无法获取已删除的ID.因为您的主键将自动生成. 如果要插入具有已删除ID的记录,则必须 Hi You cannot get deleted id. because ur primary key will be auto generated. if you want to insert record with deleted id then you have to SET IDENTITY_INSERT OFF insert into emp(empid primary key,identity,sal,dept) values (6, your values). SET IDENTITY_INSERT ON

尝试阅读本文: [ SQL如何发现序列中的漏洞] 使用最后一个sql获取第一个空闲编号,然后在插入查询中使用该编号.将值插入标识列中时,请记住使用IDENTITY_INSERT. 问候 约阿希姆(Joachim) Hi, Try read this article: [SQL-How-to-find-holes-in-sequences] Using the last sql to get the first free number and then use this number in the insert query. Remember to use the IDENTITY_INSERT when inserting values into an identity column. Regards Joachim

更多推荐

如何在SQL中获取主键的身份

本文发布于:2023-10-25 03:16:56,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1525761.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:主键   身份   如何在   SQL

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!