微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为拆分表创建串行主键

如何解决为拆分表创建串行主键

我有具有相同架构的存档表和生产表。 生产有新数据,存档有旧数据。 我想将 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 举报,一经查实,本站将立刻删除。