空值與行類型之間是否存在任何差異,其中所有列都爲空? Postgres查詢似乎能夠區分它們(顯示空列而不是空白),我想知道是否有任何我應該知道的事情。例如具有全空列的空複合類型和複合類型之間的區別
CREATE TYPE node AS (
rank integer
, id integer
);
CREATE TABLE hierarchy (
node node
);
INSERT INTO hierarchy (node) VALUES (null);
INSERT INTO hierarchy (node) VALUES ((null, null));
SELECT *, node IS NULL AS check_null FROM hierarchy;
node | check_null ------+------------ | t (,) | t
檢查您的數據庫設計,因爲所有列爲NULL的行在關係模型中沒有意義。您始終需要一個唯一的主鍵來標識表中的每一行。一行可以有一些NULL字段,但行的主鍵永遠不應該是NULL。 – aicastell
@aicastell將問題中的rowtype讀取爲複合類型。 –
你的問題有許多語法錯誤(和語義錯誤,f.ex.節點既是複合類型又是表名)。你確定你跑了嗎? http://rextester.com/ZMOO91035 – pozs