这是我的情况: 我有这 3 个表:
Material (commercial_name,family,composition)(commercial_name为PK) 化学品(商业名称,CAS)(商业名称是 PK) Compatibility_test(Chemical,Material,result)(Chemical和Material是外键,指上表的PK)。
示例
我有这些 Material M1,M2,M3 我有这些化学品 C1,C2,C3 现在,如果我想在 M2 上插入 C3 测试或与这些元素的任何其他组合,都没有问题。但是,如果我使用新的 C4 化学品(例如 M2)进行测试,这是不允许的,因为 C4 尚未出现在化学品表中。 问题是: 有没有办法插入测试,如果该测试的元素尚未在 Material 和化学品表中,则将添加它们,否则不会对这些表进行任何更改?
提前谢谢
最佳答案
唯一的方法是删除这些表之间的关系。在这些情况下,“按照逻辑”,你已经不需要这些关系了。 与表之间的链接关系,当删除1行时可以删除相关行,或者如果有相关行则禁止删除等等。但在你的情况下你不需要它。
关于mysql - phpmyadmin 外键问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34086624/