【发布时间】:2021-06-27 07:22:51
【问题描述】:
我想要一个表格,对于每个新的 id,第二个 id(例如修订)从 1 开始,例如:
id revision data
1 1 data1
1 2 data2
2 1 data3
2 2 data4
1 3 data5
3 1 data6
当我想更新数据(行)时,我保留原始行,并创建一个具有相同 id 但具有不同修订版的新行。所以我会跟踪桌子上所做的更改。
我用这个查询创建表:
create table my_table (
id serial not null,
revision serial not null,
data jsonb not null
primary key(id, revision)
);
但是,对于这个查询,修订会从它离开的地方继续,例如: id 修订数据
1 1 data1
1 2 data2
2 3 data3
2 4 data4
1 5 data5
3 6 data6
如何实现这样的表结构?
【问题讨论】:
-
为什么需要它?您可以使用
row_number获取序列号。 -
我有点迷路了。如果
id是串行的,为什么会重复?
标签: sql postgresql auto-increment