SQL 带标识规范的列不能更新,怎么办

SQL 带标识规范的列不能更新,怎么办,第1张

MSSQL的话,可以使用命令

SET IDENTITY_INSERT TableName ON

让MSSQL允许你更新/插入,如果在一个事务里对多个表 *** 作,不要忘记先关闭上一个IDENTITY_INSERT ON命令,才可以使下一个表进入IDENTITY_INSERT ON状态。

关闭命令:

SET IDENTITY_INSERT TableName OFF

这个命令是会话级的,当你关闭当前会话后,该表状态IDENTITY_INSERT自动变为OFF

如果不是MSSQL库的话,可以追问。祝好运~

这个问题想多了就变复杂了。

首先要确定除了你自己外没有人 *** 作数据库;

更新表A中的主键、和另一个字段

更新B、C表中的AOID;

不需要关联,都直接增加6000即可。

update A set oid=oid+6000,recipientcertificateid=recipientcertificateid+6000

update B set AOID=AOID+6000

update C set AIOD=AIOD+6000

原理:

A表直接将字段增加6000,而B与C表中外键需要相应修改,同时全表更新外键增加6000即可。

那就建一张临时表,把数据导到临时表,然后清空本表,再重新插入,插入的时候用新的OID规则。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6770688.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存