我有一個學校的「項目」工作,其中有一些表和一個表需要有一個約束,這是不適合我的工作。約束檢查行和其他行在同一時間不爲空
有一些表,如問題,答案和反應。 一個反應屬於一個問題或一個答案,但不是在同一時間。 還有由我有2行:
question_id NUMBER,
answer_id NUMBER,
兩個不爲空,因爲通過斜面空,但不是在同一時間。
我已經作出約束,但不工作..
/* CHECK if reaction belongs to an question or a answer NOT WORKING YET*/
CONSTRAINT CHECK_question_or_answer CHECK((answer_id != NULL AND question_id = NULL) OR (answer_id = NULL OR question_id != NULL))
已經測試過的約束,我可以不用question_id或answer_id插入值。 我希望它有點清楚,如果不是,我很高興喲試着更好地解釋自己。 (仍然在SQL上newby)
謝謝。
你使用MySQL或Oracle? 「 –
」已經測試了約束,我可以插入一個沒有question_id或answer_id的值。「那麼,這個用例對你來說工作不正常呢? – Mureinik
**'IS NULL'或'IS NOT NULL' **。 'NULL'的比較運算符總是會產生NULL NULL – lad2025