在这里,我想解释一下我的问题,
我需要在现有表中创建唯一索引,该表包含许多记录.
我试着执行这段代码
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工作表导入完成的
>如果要在列员工表上使用唯一索引empid_name ON(importcompany_id,relationship).然后,您必须删除现有的重复数据.
简单的方法是在4列上添加UNIQUE索引.编写ALTER语句时,请包含IGnorE关键字.像这样:
ALTER IGnorE TABLE `employee` ADD UNIQUE INDEX(importcompany_id,relationship);
这将删除所有重复的行.作为一个额外的好处,未来的重复INSERT将会出错.与往常一样,您可能希望在运行此类内容之前进行备份.
原文地址:https://www.jb51.cc/php/134448.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。