健康风险表
column 1 - PK - name
column 2 - description
健康风险组件表
column 1 - AI/PK - id
column 2 - ingredient_name
column 3 - FK - column1.name
例如,我将为第一个表插入一行。
糖尿病有多种需要警惕的成分。
表 2 中的内容自然会像这样。
1 - sugar - diabetes
2 - raisins - diabetes
但是第三列(即 FK)出现重复条目。
我不明白的是,我的食谱有类似的 3 表 erd。
recipe - combinetable - ingredients
很自然,
单面朝上,假设 1 个鸡蛋和油。
在我的食谱表上有单面朝上及其详细信息等。
1 - sunny side up
我的成分 ID 有 2 个条目
1 - egg
2 - oil
在我的第三个联合收割台上会有 2 个 FK。
recipeid(FK) componentid(FK)
1 1
1 2
食谱 ID 将被插入多次,具体取决于每个食谱的成分。它不会重复输入错误。
最佳答案
我怀疑您将Health_risk_components
的第3列
上的外键设置为UNIQUE
索引,而不仅仅是索引
。如果它被列为唯一,则该值必须与该列中的所有其他行唯一。
尝试以下查询来删除唯一索引并添加正确的索引:
ALTER TABLE Health_risk_components DROP INDEX column_3;
ALTER TABLE Health_risk_components ADD INDEX ( `column_3` )
关于mysql - 表重复条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22285604/