为拆分表创建串行主键

我有具有相同架构的存档表和生产表。 生产有新数据,存档有旧数据。 我想将 id 添加到它们中作为串行引物密钥。 在两个表中我都有数据。 我的想法是在存档表中创建 id。

alter table people add column id serial primary key;

然后在我的生产表中做同样的事情。 生产是归档表的延续,所以 primery key 也应该是它的延续。 所以我用了:

alter sequence people_id_seq restart with 40;

我唯一的问题是此推荐不更新索引。仅为新插入设置起始值。 所以我应该先运行

UPDATE people set id = id + 40;

以及所有行(在存档和生产中)的值的集合序列。

alter sequence people_id_seq restart with (40 + select count(*) from people);

我有一些用于此过程的表(存档和生产中的行数不同),因此我正在为此寻找最自动化的解决方案。

laonongding 回答:为拆分表创建串行主键

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/630108.html

大家都在问