gpt4 book ai didi

php - 带外键的 NULL 值

转载 作者:行者123 更新时间:2023-11-30 23:18:29 24 4
gpt4 key购买 nike

我在 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

基本上,我希望将其存储在一张表中,现在我不确定这是否是个好主意。因为当我添加客户联系人时,我在 supplier_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)

任何建议将不胜感激......

最佳答案

我认为 ON DELETE SET NULL 用于 SUPPLIER/CONTACTS 并且 ON DELETE CASCADE for CUSTOMER/CONTACTS or vice/versa based on your decision

关于php - 带外键的 NULL 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16522813/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com