[英]Postgres GENERATED AS IDENTITY column nullability
我想创建一个表,其中包含一个具有GENERATED BY DEFAULT AS IDENTITY
选项的可为空列,因此我运行以下查询:
CREATE TABLE my_table (
generated INTEGER NULL GENERATED BY DEFAULT AS IDENTITY,
data TEXT NOT NULL
);
但是一旦我尝试在表中插入一行, generated
的字段是null
,如下所示:
INSERT INTO my_table(generated, data) VALUES(NULL, "some data");
我收到一个空约束违规错误。
但是,如果我更改my_table.generated
列属性的顺序:
CREATE TABLE my_table (
generated INTEGER GENERATED BY DEFAULT AS IDENTITY NULL,
data TEXT NOT NULL
);
它插入行,生成的字段是NULL
,没有任何问题。 这是案件的预期行为吗?
Postgres 开发人员告诉我这是一个错误,因为身份列不应该为空(请参阅响应下的补丁文件)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.