[英]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.