【发布时间】:2016-01-26 11:15:41
【问题描述】:
在这里我想解释一下我的问题,
我需要在我的现有表中创建唯一索引,并且该表包含许多记录。
我试图执行这段代码
CREATE UNIQUE INDEX empid_name ON employee (importcompany_id, employee_id, name, relationship);
但我遇到了错误
#1062 - Duplicata du champ '0-Emp ID-Member Name-Relationship' pour la clef 'empid_name'
帮我解决这个问题,我需要让字段唯一
更新:
设置这些字段唯一的原因是
其实我有这样一张桌子
id company_ID Employee_ID Name Relationship Dob Age Gender
1 EMPL 00001 Choodamani Spouse 11-Aug-66 49 Female
2 EMPL 00001 Komala Mother 30-Oct-39 76 Female
3 EMPL 00001 Varshini Daughter 29-Apr-04 11 Female
4 EMPL 00001 Vasudevan Employee 15-Jul-62 53 Male
5 EMPL 00002 Siddharth Son 1-Jun-00 15 Male
6 EMPL 00002 Poongavanam Mother 21-Oct-39 76 Female
7 EMPL 00002 Aruna Spouse 16-Sep-68 47 Female
8 EMPL 00002 Abirami Daughter 7-May-97 18 Female
9 EMPL 00002 Murali Employee 7-Oct-67 48 Male
如果有插入这样的数据,
id company_ID Employee_ID Name Relationship Dob Age Gender
1 EMPL 00001 Choodamani Spouse 11-Aug-70 45 Female
2 EMPL 00001 Nirmal Son 30-Oct-39 76 Female
此插入或更新是通过使用 excel 表导入完成的
【问题讨论】:
-
您必须清理数据才能获得没有重复条目的表。之后,您将可以添加唯一索引。
-
有什么方法可以做到不删除数据????
-
我不明白。一种可能是拥有唯一的数据集,另一种可能是允许表中存在重复条目。如果要添加 UNIQUE INDEX 约束,则表中不能有重复的条目。请阅读dev.mysql.com/doc/refman/5.0/en/constraint-primary-key.html
-
如果您包含“dob”(出生日期),那么您将获得更独特的表示。虽然它仍然不能保证完全的唯一性。
标签: php mysql indexing duplicates unique-index