Mysql phpmyadmin外键问题

Mysql phpmyadmin外键问题,mysql,database,indexing,Mysql,Database,Indexing,我的情况如下: 我有三张桌子: 材料(商业名称、系列、成分)(商业名称为PK) 化学品(商业名称,CAS)(商业名称为PK) 兼容性测试(化学、材料、结果)(化学和材料为外键,参考上表的PKs) 范例 我有这些材料 M1,M2,M3 我有这些化学品 C1,C2,C3 现在,如果我想在M2或任何其他元素组合上插入C3测试,没有问题。但是如果我在M2上用一种新的C4化学物质进行测试,那是不允许的,因为C4还没有在化学物质表中。 问题是: 是否有办法插入一个测试,如果该测试的元素不在材料和化学品表中,

我的情况如下: 我有三张桌子:

材料(商业名称、系列、成分)(商业名称为PK) 化学品(商业名称,CAS)(商业名称为PK) 兼容性测试(化学、材料、结果)(化学和材料为外键,参考上表的PKs)

范例

我有这些材料 M1,M2,M3 我有这些化学品 C1,C2,C3 现在,如果我想在M2或任何其他元素组合上插入C3测试,没有问题。但是如果我在M2上用一种新的C4化学物质进行测试,那是不允许的,因为C4还没有在化学物质表中。 问题是: 是否有办法插入一个测试,如果该测试的元素不在材料和化学品表中,则将添加这些元素,否则将不更改这些表


提前感谢

删除这些表之间的关系是实现此目的的唯一方法。在类似的情况下,按照逻辑,你不需要这些关系。
相互链接到表的关系,删除1行时可以删除相关行,如果存在相关行,则禁止删除,以此类推。但在你的情况下,你不需要它。

不。你使用这个词,显然是指“关系”而不是“关系”。“关系”是一个概念,而不是模式中的表现形式(它在查询和视图中以连接的形式出现)。此外,E.F.Codds定义中的术语“关系”在这里被称为表。它是需要从模式中删除的外键约束。