php – 如何为MySQL中包含记录的现有表创建唯一索引
发布时间:2020-12-13 18:04:17 所属栏目:PHP教程 来源:网络整理
导读:在这里,我想解释一下我的问题, 我需要在现有表中创建唯一索引,该表包含许多记录. 我试着执行这段代码 CREATE UNIQUE INDEX empid_name ON employee (importcompany_id,employee_id,name,relationship); 但我得到的错误是 #1062 - Duplicata du champ '0-Emp
在这里,我想解释一下我的问题,
我需要在现有表中创建唯一索引,该表包含许多记录. 我试着执行这段代码 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将会出错.与往常一样,您可能希望在运行此类内容之前进行备份. >或者在表格中添加主键,然后您可以轻松地从表格中删除重复项.然后添加唯一索引. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |