2011-09-24 32 views
2

我在一個表上有一列contactId這是一個外鍵,連接到contacts表的ID。即,我的第二個表中的每一行都可以連接到一個聯繫人。Mysql外鍵難題

但是,有些記錄不必連接到任何聯繫人。在這種情況下,聯繫人Id將爲0.當我嘗試插入這樣的記錄時,出現此錯誤:

Error Number: 1452 Cannot add or update a child row: a foreign key constraint fails 

我該怎麼辦?

回答

3

如果列表contactId對另一個表具有FK的列可以爲空(也可以是),您應該可以將那些沒有任何聯繫人的列設置爲NULL。外鍵基本上意味着如果該列具有非NULL值,那麼該值必須存在於由外鍵約束引用的表的主鍵中。否則,只需將其設置爲NULL即可。

2

使用NULL作爲contactId,因爲行與引用concact無關。

外鍵列可以爲空。