我在一个表上有一个列contactId
,它是一个外键,连接到contacts
表的id。即,我的第二个表中的每一行都可以连接到一个联系人。
但是,某些记录不必连接到任何联系人。在这种情况下,联系人ID将为0.当我尝试插入这样的记录时,我收到此错误:
Error Number: 1452 Cannot add or update a child row: a foreign key constraint fails
我该怎么办?
答案 0 :(得分:3)
如果具有FK到另一个表的列contactId
可以为空(并且可以),那么您应该能够将那些没有任何联系人的列设置为NULL
。外键基本上意味着如果列具有非NULL值,则该值必须存在于外键约束引用的表的主键中。否则,只需将其设置为NULL。
答案 1 :(得分:2)
当行引用一个concact时,使用NULL作为contactId
。
外键列可以为空。