該問題被簡化以減少混亂。如何檢查外鍵對象是否屬於某種類型
在我的數據庫中有2個表格。 1個「產品」表和1個「通知」表。 此產品可以是3種類型,由枚舉(ENUM('SERVER', 'SERVICE', 'APPLICATION')
)定義。
通知包含產品的外鍵,其ID。
當我創建通知時,我想檢查給定的ForeignKey是否爲'APPLICATION'類型。我能進行這樣的檢查嗎?如果是這樣,這是由CHECK
完成?
據我知道,我可以檢查的唯一事情是一個值(例如CHECK(foo > 0)
)
現在,這似乎是一個很好的解決方案。如果沒有其他答案會發布,這將是我的路要走。 但是,在CREATE TABLE中實現CHECK或CONSTRAINT的另一種選擇是不可行的選擇? – creulcat
這似乎是你最好的選擇imo – Anton
@creulcat就我所知的MySql而言,沒有其他辦法可以做遠距離約束檢查而不是觸發器... – Blag