需求背景
在维护老项目的过程中,常发现一些用数据库的主键自增策略给主键,导致产生的一些问题,比如再测试接口时想手动添加一条数据到表里,会发现主键自增一直阻止,不让你主动的去添加记录;
解决方案
SELECT Row_Number( ) OVER (ORDER BY getdate() ) id,* INTO 目标表 FROM 源表将原来表中的主键字段删除,然后将Row_Number( ) OVER (ORDER BY getdate() )赋值到目标表中作为主键,这样就可以显式的向表中插值;
例:SELECT Row_Number( ) OVER (ORDER BY getdate() ) id,* INTO user_1 FROM user
最后将user_1表名替换为user
需求背景
一个产品要给甲方做演示时,要给库里边造一些数据,一二百个字段,要大量数据才能展示出产品效果;或者字段名称不一致想从a库的表中把数据导到b库的表中;
解决方案
insert into
目标表(column)
select column from
源表ps:目标表与源表可以跨库;例:河南.dbo.user->上海.dbo.user
目标表的column与源表的column对应执行sql;
文章讨论了在数据库管理中遇到的主键自增策略限制问题,提出使用Row_Number()函数结合日期排序生成新的主键来解决。此外,还介绍了如何进行大规模数据填充和跨库数据迁移,以满足产品演示或数据同步的需求。
165

被折叠的 条评论
为什么被折叠?



