mysql - phpmyadmin 外键问题

标签 mysql database indexing

这是我的情况: 我有这 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/

相关文章:

MySQL Subselect 将两个表和聚合函数合并到单个查询中

c# - 访问 groupby 中每个项目的详细信息

python - 如何使 "for"循环中的索引向前跳N

magento - 如何在 Magento 1.13 中运行部分重新索引?

python - 是否有 Python 的 MySQL 数据库抽象层在 Linux 和 Windows 上都像 pyodbc 一样工作?

php - 从mysql获取结果

mysql - 添加一列数据

database - 存储上传的图像、SQL 数据库或磁盘文件系统的最佳位置是什么?

java - MySQL:用户 'userName' @'localhost' 的访问被拒绝

optimization - PostgreSQL 查询优化和 Postmaster 进程'