2015-12-04 55 views
0

这里是我的情况: 我有这3个表:phpMyAdmin的外键的问题

材料(commercial_name,家庭组成)(commercial_name被PK) 化工(commercial_name,CAS)(commercial_name是PK) Compatibility_test(化学,材料,结果)(化学和材料是外键,是指上表中的PK)。

我有这些材料 M1,M2,M3 我有这些化学品 C1,C2,C3 现在,如果我想instert C3的上M2测试或与任何其他组合没有问题元素。但是,如果我用例如M2的新C4化学品进行测试,那是不允许的,因为C4不在化学品表中。 问题是: 是否有插入测试的方法,如果测试的元素不在Materials and Chemicals表中,他们将被添加,否则对这些表进行非更改?

谢谢您提前

回答

0

通过删除这些表之间的关系的唯一方法。而且,像这些“逻辑上”的情况一样,你不需要这些关系。 与彼此链接到表的关系,当您删除1行时,您可能会删除相关行,或者如果存在相关行等,您将被禁止删除。但在你情况下,你并不需要这个。

+0

不会。通过您对该术语的使用,您明确提到了“关系”而不是“关系”。 '关系'是一个概念,而不是模式中的一种表现形式(它在查询和视图中表现为连接)。此外,E.F.Codds定义中的术语'关系'在这里被称为表格。它是需要从模式中删除的外键约束。 – symcbean