【发布时间】:2017-02-21 08:24:26
【问题描述】:
我有一个 PostgreSQL 数据库版本 9.5.0。
表 UserComments 的创建方式如下:
create table UserComments (
userId integer,
commentNr integer,
comment text,
UNIQUE (userId, commentNr)
);
表格无法更改,也无法添加额外的表格。
我想根据userId 条目的数量在commentNr 上创建一个序列(换句话说:一个自动递增的值)。
对于具有相同userId 的每个新条目,其值应递增。
示例:
我已经找到了一些关于“触发器”和“窗口函数”的答案,但没有一个对我真正有用,因为我不允许更改表格。
最好的解决方案是在每个INSERT 上触发一个自动counts/计算commentNr 的触发器,这样我就可以添加一个新条目
insert into user(userId, comment) values ('1', 'bla');
任何帮助将不胜感激。
【问题讨论】:
-
primary key(id),:: 您的表中没有id列。请贴出真实代码。 -
你是对的——这个例子不需要主键。
标签: postgresql triggers count sequence