我有一个PostgreSQL数据库版本9.5.0。非主键POSTGRES序列触发器
表UserComments
创建这样的:
create table UserComments (
userId integer,
commentNr integer,
comment text,
UNIQUE (userId, commentNr)
);
表不能更改无论是我可以添加额外的表。
我想根据userId
条目的数量在commentNr
上创建一个序列(换句话说:自动递增值)。 对于每个新条目具有相同的userId
其值应递增。
例子:
userId | commentNr | comment -------|-----------|--------- 1 | 1 | blabla 1 | 2 | more bla 2 | 1 | myownbla 1 | 3 | evenmorebla
我已经找到了一些答案与“触发器”和“窗口函数”,但因为我不能改变表并没有真正为我工作。 最好的解决办法是在每INSERT
触发自动counts
/计算commentNr
这样我就可以
insert into user(userId, comment) values ('1', 'bla');
任何帮助增加新的项目,将不胜感激。
'主键(id),'::你的表中没有列'id'。请发布真实的代码。 – joop
你是对的 - 主键对于这个例子来说是不需要的。 –