如何在包含记录的MySQL中为现有表创建唯一索引

Nodemon

在这里我想解释我的问题,

我需要在现有表中创建唯一索引,并且该表包含许多记录。

我试图执行此代码

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工作表导入完成的

索南斯·穆鲁克
  1. 如果要在具有empid_name列的员工表上具有唯一索引(importcompany_id, employee_id, name, relationship)然后,您必须删除现有的重复数据。

简单的方法是在4列上添加UNIQUE索引。在编写ALTER语句时,请包含IGNORE关键字像这样:

ALTER IGNORE TABLE `employee` ADD UNIQUE INDEX(importcompany_id, employee_id, name, relationship);

这将删除所有重复的行。另外一个好处是,将来重复出现的INSERT将出错。与往常一样,您可能需要在运行类似操作之前进行备份。

  1. 在表中添加主键,则可以轻松地从表中删除重复项。然后添加唯一索引。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在PL SQL中为现有表创建唯一ID?

在表中添加唯一键/索引及其对现有记录的影响

在MySQL中添加索引后如何在现有表中重建索引?

如何在Rails创建表迁移中创建唯一索引?

在现有的MySQL表中添加唯一的ID

如何在现有列中创建唯一值的数据框?

如何在PostgreSQL中为现有表生成“创建表” SQL语句

如何在phpmyadmin中为现有表生成创建表脚本?

如何删除 MySQL 表中不在唯一索引列表中的所有条目?

如何在Laravel中创建唯一索引?

如何在sqlalchemy中的列上创建非唯一索引?

如何在Dask DataFrame中创建唯一索引?

如何使用MySQL在表中显示唯一记录

如何在oracle中获取现有数据存储区CTXSYS(为创建索引而创建)的定义?

无论它们的顺序如何,如何在 mySQL 表中创建唯一的值组合?

如何在mysql中仅选择唯一记录

如何在MySQL中为两个表创建FULLTEXT索引?

如何在mysql数据库表中为另一个列创建垂直列唯一键

如何在现有表中创建代理键列?

为现有的mysql表分配唯一的默认值

如何在MySQL中为每一行的唯一列值选择两条记录?

使用外键为带有外键的表创建唯一索引

Oracle SQL:从现有表创建唯一的teamid

如何在MySQL中存储具有属性的唯一列表

如何在MySQL中创建唯一的CONCAT字段

如何为今天的记录创建唯一索引?

MYSQL 在现有表中创建关系

如何在 Pandas 数据框中通过具有日期时间索引的唯一 ID 创建列

如何在具有唯一“ attendable_type”和“ attendable_id”的rails中索引多态表-Rails 4