0
我在將兩個約束條件的約束添加到已存在的表時遇到困難。我正在處理下面的兩個關係,並試圖將約束添加到「books」表中。PostgreSQL:添加具有多個條件的約束
的關係是:
書((book_id),標題,AUTHOR_ID,subject_id)
科目((subject_id),主題,地點)
其中關鍵字是主要關鍵字,而斜體是外鍵。
第一標準/條件是subject_id是NOT NULL,那插入一個新的書元組成書時,已經存在作爲對象關係的主鍵subject_id。
ALTER TABLE books ADD CONSTRAINT hasSubject
CHECK(subject_id IS NOT NULL AND subject_id REFERENCES subjects(subject_id))
我不斷收到錯誤消息:「語法錯誤或接近‘參考’」
任何想法?先謝謝你!
謝謝!你是否願意展示如何結合這兩個約束?我嘗試用「AND」語句將兩者結合起來。所以:「...不是NULL)和FOREIGN KEY(subject_id)...」,但是收到一條語法錯誤信息,抱怨「在」AND「處或附近。 – Ninu
再一次,謝謝!! :)有可能加入兩個約束,並用一個共同的名稱「hasSubjects」來引用它們?換句話說,是否有可能只用一個「ADD CONSTRAINT」術語來重寫這個單一語句,同時保持相同的功能? – Ninu
@Ninu ...。不,這是不可能的。有兩個限制。 –