我有兩個表:消息和產品。 在消息表中,有一個sourceid,它等於表Product下的ProductId。是否可以在phpmyadmin中添加一個條件到外鍵約束?
產品有一個產品ID(productID),用戶可以向賣方發送產品信息。對於這些消息,如果它們與特定的產品相關,而不是它們給出的sourceid,這基本上是產品ID。如果消息與任何產品無關,則sourceid將設置爲0.
我可以設置外鍵約束來刪除消息條目,只要賣家刪除產品,所有相關消息都將被刪除。
但是,我發現所有與產品無關的消息(sourceid設置爲0)並未保存在數據庫中。很明顯,因爲沒有productid = 0的產品,並且外鍵約束將立即刪除消息條目(帶有sourceid = 0)。
有沒有辦法在phpmyadmin中設置條件?如果我可以設置,如果外鍵約束只在sourceid> 0時執行,那麼系統應該運行。但我不知道如何設置這個條件,或者如果phpmyadmin允許設置這個條件。
請幫忙。非常感謝。
因此,所有我需要做的是設置的SourceID爲null每當引用與產品無關的消息而不是0時? – Kevin
@Kevin我不知道你有什麼想法,但按照Bill Karwin的回答,如果你將'ProductId'設置爲'NULL',然後刪除那條記錄,它應該忽略相應消息的級聯刪除。 –