我盡了我的盡職調查資源並搜索解決此問題的方法,但找不到合適的答案具體的用例。將兩列限制爲兩個字段必須有數據的位置,或者兩個字段都必須爲NULL
我在一張表中有兩列:Packaged_By
和Packaged_Time
。兩者都初始化爲NULL
字段。
我想要什麼:我希望兩個領域:1)有一個值不是NULL
,或者2)請將這兩個字段作爲NULL
。
我不想要什麼:我再也不想爲了有其中一個列有一個值,但在其他列保持NULL
的情況下。這大大提高了我的數據庫完整性。
不幸的是,我一直無法弄清楚如何用獨特的約束來做到這一點。
我的問題:我可以使用約束來強制兩個字段同時具有數據或NULL
值嗎?是否有可能使用觸發器來實現這一點?我錯過了什麼?
任何指導或方向將不勝感激。謝謝。
編輯:我正在使用MySQL。
爲什麼不爲這兩個設置一個默認值? – JordanBelf
我認爲在MS SQL中你可能會設置約束條件(但我不太確定)。在MySQL中,我認爲你可以完成這個任務的唯一方法是使用TRIGGERs強制將NULL都設爲NULL。另外,關於UNIQUE約束,MySQL將每個NULL視爲唯一;這可能是不相關的,因爲兩行在這些字段中具有相同的值可能合法(即使不太可能)。 – Uueerdo
檢查這個問題和答案:http://stackoverflow.com/questions/2115497/check-constraint-in-mysql-is-not-working – Tim3880