sql表中的一列如何控制标识的当前值?

没有用语句直接删除标识的办法... 没有用语句直接删除标识的办法 展开
 我来答
micro0369
推荐于2017-10-05
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部

可以设置显示值插入


2.显示值插入(修改会话中的IDENTITY_INSERT ),临时性 ,不彻底该表列性质

SET IDENTITY_INSERT [ database_name . [ schema_name ] . ] table { ON | OFF }

  

1 --一般是组合使用,已确保会话中IDENTITY_INSERT的完整状态


SET IDENTITY_INSERT TABLENAME ON  --关闭
INSERT INTO TABLENAME(IDENTYTY_ID,...) VALUES(...)
INSERT INTO TABLENAME(IDENTYTY_ID,...) VALUES(...)
INSERT INTO TABLENAME(IDENTYTY_ID,...) VALUES(...)
SET IDENTITY_INSERT test OFF      --开启

   

 

 

关于这种方式,需要注意如下:

A.任何时候,一个会话中只有一个表的 IDENTITY_INSERT 属性可以设置为 ON ,想修改其他表,必须将前一个ON状态改回OFF

B.如果插入值大于表的当前标识值,则 SQL Server 自动将新插入值作为当前标识值使用

C.SET IDENTITY_INSERT 的设置是在执行或运行时设置的

追问
INSERT INTO TABLENAME(IDENTYTY_ID,...) VALUES(...)  这个是什么意思
...手工插入数据?
追答
对啊,就是把自增长关闭了,

再次insert时,需要将id列写到sql语句中,并且values要有明确的值才行。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式