我想链接几个序列,为表的几列生成默认值。
例如:
CREATE SEQUENCE seq1 START WITH 1;
CREATE SEQUENCE seq2 START WITH 1;
CREATE TABLE mytable (rid int GENERATED BY DEFAULT AS SEQUENCE seq1 PRIMARY KEY, p63 int GENERATED BY DEFAULT AS SEQUENCE seq2)
不幸的是,发生了一个错误:“不允许身份定义”
在Postgresql正在工作。
任何的想法 ?
谢谢
允许首次使用序列。您可以编写BEFORE INSERT TRIGGER以将序列值插入第二列。
遇到同样的问题,我发现了这篇文章。我用了另一个解决方法:
CREATE SEQUENCE seq1 START WITH 1; CREATE SEQUENCE seq2 START WITH 1; CREATE TABLE mytable ( rid int DEFAULT nextval('seq1') NOT NULL, p63 int NOT NULL ); ALTER TABLE mytable ALTER p63 SET DEFAULT NEXTVAL('seq2');
创建表后,更改p63
列可以使用seq2
序列,而在创建表时不接受它。