我在 php 中有 2 个表单用于添加供应商和客户。在这些表格上,我可以添加供应商或客户的联系方式。现在,我在表联系人上创建了外键,因为 1 个供应商或 1 个客户可以有很多联系人。但问题是我有 1 个联系表,结构如下:
ID | telefon | name | mail | type_fk | supplier_fk_id | customer_id_fk
------------------------------------------------------------------------------
1 | 123 | john | mail | 1 | 23 | NULL
2 | 123234 | julie | gfdh | 3 | NULL | 45
所以基本上,我希望将它存储在一个表中,现在我不确定这是否是个好主意。因为当我添加客户联系人时,我在供应商_fk_id 中有 NULL 值,供应商也是如此,但在 customer_fk_id 中。我在更新和删除时都有外键 - 级联,因为如果客户/供应商被删除,我希望这些联系人被删除。如果我删除数据库中的外键,我将不会进行我想要的数据库端检查。但我得到这样的错误:
Error
Error inserting:
Cannot add or update a child row: a foreign key constraint fails
(`testbase`.`pro_contact`, CONSTRAINT `supplier_fk_id` FOREIGN KEY (`supplier_fk_id`)
REFERENCES `pro_supplier` (`supplier_id`) ON DELETE CASCADE ON UPDATE CASCADE)
任何意见,将不胜感激...