修改数据库中表的id

修改数据库中表的id,第1张

思路:

1、首先搞清楚所有表的主外键关系

2、取消全部表的主键自增标识列,方便你后续的直接修改ID

例如:

exec sp_configure 'allow updates',1

reconfigure with override

GO

----取消标识列标记

update syscolumns set colstat = 0 where id = object_id('表名') and colstat = 1

GO

----恢复标识列标记

update syscolumns set colstat = 1 where id = object_id('表名') and name = '标识列名称'

3、写个SQL脚本,修改ID,在修改的时候,一并更新全部表里的此ID值

例如:

declare @old_id as int,@new_id as int

select @old_id=12,@new_id=123

update 表名1 set id=@new_id where id=@old_id

update 表名2 set id=@new_id where id=@old_id

update 表名3 set id=@new_id where id=@old_id

.....

update 表名n set id=@new_id where id=@old_id

建立一个更新查询,假设分类表删掉的记录ID是从5~50,而目前这个表ID字段的最大值是500了,接下来,新添加的记录ID应该是501~546,那么在关联表里,更新字段为〔关联ID]=〔关联ID〕+496,更新查询代码如下:

UPDATE

关联表

SET

关联表.关联ID

=

[关联ID]+496

WHERE

(([关联ID]>4

And

[关联ID]<50))

试一试。

你在这个库里新建一个查询,在SQL视图里,把我上面的代码复制进去,再改成自己的表名和字段名。

可以通过update(更新)语句实现给该记录 *** 作。sql:update tablename set username ='zhangsan' where id =5

解释:因为改变的是某条记录,所以必定有where条件来限定到此条语句,上面的举例就是通过id的唯一性先确定此条记录,之后通过update将tablename表中的username字段值进行更新。


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

原文地址:https://54852.com/sjk/9715091.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存