postgresql - 为拆分表创建序列主键
问题描述
我有具有相同架构的存档表和生产表。生产有新数据,存档有旧数据。我想将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);
我有几个表用于这个过程(存档和生产中的行数不同),所以我正在寻找最自动化的解决方案。
解决方案
推荐阅读
- android - 在 Android Studio 中向 TabLayouts 添加图标
- python - 有没有可以用来快速检查库与哪些版本的 Python 兼容的工具?
- python - 散景:连接线图和散点图
- php - 带有日期的for循环的php超时
- java - 重装 Android Studio 打不开
- mod-rewrite - 基于主机的 Apache 重写规则
- c# - c#参数化查询不返回数据/空值
- java - Java 对象是所有类的根,而不是所有其他对象
- python - '无法访问'DataFrameGroupBy'对象的可调用属性'sort_values',请尝试使用'apply'方法'
- javascript - 将 css 应用于弹出窗口中的表格