为拆分表创建串行主键

问题描述

我有具有相同架构的存档表和生产表。 生产有新数据,存档有旧数据。 我想将 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);

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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)