mysql - 表重复条目

标签 mysql sql database phpmyadmin

健康风险表

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/

相关文章:

mysql - SQL 查询从表中删除多个重复条目

php - 通过 PHP 进行简单的 MySQL 查询

数据库加密题

php - INSERT INTO 在来自不同行的不同列的 CONCAT 数据之后

PHP - 确定数据是否已删除

sql - 如何从另一台服务器访问我的数据库

mysql - 如何从 MySQL 中的存储过程访问远程 MicroSoft SQL Server 数据库

mysql - 使用 MySQL 将度/分/秒转换为小数

mysql - Codeigniter出现数据库错误

mysql - 按工作日分组