
思路:
1、首先搞清楚所有表的主外键关系
2、取消全部表的主键自增标识列,方便你后续的直接修改ID
例如:
exec sp_configure 'allow updates',1reconfigure 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 intselect @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字段值进行更新。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)