需要在MySQL的一张innodb引擎的表(tableA)上添加一个唯一索引(idx_col1_u)。但是对于每个key(col1)表中已经有大量重复数据。此时,做数据的手工清理,或者SQL处理是非常耗时的。

MySQL有一个独有的 alter ignore add unique index的语法。

ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name  

行为类似于insert ignore,即遇到冲突的unique数据则直接抛弃而不报错。对于加唯一索引的情况来说就是建一张空表,然后加上唯一索引,将老数据用insert ignore语法插入到新表中,遇到冲突则抛弃数据。点:alter ignore的语法不支持innodb,所以需要把table的引擎改为MyISAM;

解决方案

ALTER TABLE tableA ENGINE MyISAM;   /*注意:修改表结构为MyISAM */
ALTER IGNORE TABLE tableA ADD UNIQUE INDEX idx_col1_u (col1); /*添加唯一索引,消重*/
ALTER TABLE table ENGINE InnoDB;    /*可选,修改表结构为InnoDB */ 

MySQL对于有大量重复数据表的处理方法相关推荐

  1. MySQL中有外键时数据表的删除方法

    直接删除grade,被引用的数据表时如下 报错 解决方法 先删除student,要引用的数据表 然后删除grade,被引用的数据表 成功

  2. B-Tree/B+-Tree/二叉树/红黑树/Hash表/MySQL底层到底用哪个数据表建立索引做快速查找?

    B-Tree/B+-Tree/二叉树/红黑树/Hash表/MySQL底层到底用哪个数据表建立索引做快速查找? ~~B-Tree~~ ==B+Tree== ~~二叉树(Binary Search Tre ...

  3. mysql重命名数据表称方式_在MySQL中,使用()重命名数据表。_学小易找答案

    [单选题]( )的上海文坛被称为"张爱玲年". [多选题]下列哪些是属于共集放大电路的特点?() [阅读理解]Passage Two Thailand is to ban smok ...

  4. MySQL学习笔记_4_MySQL创建数据表(下)

    MySQL创建数据表(下) 五.数据表类型及存储位置 1.MySQL与大多数数据库不同,MySQL有一个存储引擎概念.MySQL可以针对不同的存储需求选择不同的存储引擎. 2. showengines ...

  5. MySQL(11)--- 删除数据表

    MySQL 删除数据表 MySQL中删除数据表是非常容易操作的, 但是你再进行删除表操作时要非常小心,因为执行删除命令后所有数据都会消失. 语法 以下为删除MySQL数据表的通用语法: DROP TA ...

  6. MySQL创建数据库、创建数据表

    MySQL创建数据库.创建数据表 创建 MySQL 数据库时指定字符集和校对规则 mysql> CREATE DATABASE IF NOT EXISTS test_db_char DEFAUL ...

  7. mysql truncate操作可能导致 数据表不存在

    mysql truncate操作可能导致 数据表不存在 最近出现show table 可以查到表,但是select 提示表不存在问题,分析发现所有出问题的数据表都执行过truncate操作,查资料发现 ...

  8. (二)QT5.14.2连接MySQL并使用QtableView显示数据表内容

    系列文章目录 第一章:(一)QT5.14.2+MSVC2017(32位/64位)+MySQL连接 第二章:(二)QT5.14.2连接MySQL并使用QtableView显示数据表内容 文章目录 系列文 ...

  9. MYSQL数据库(十)- 数据表的插入(insert)、删(delete)、改(update)、查(select)、group by 分组、having语句设置分组条件,order by查询结果排序,

    目录结构 本章目录 一.插入insert: 方法一:insert标准插入数据写法 方法二:set插入数据写法 方法三:请看本章最后一个案例 二.插入update: 方法一:单表更新记录 方法二:多表更 ...

最新文章

  1. 【连载】高效人士的116个IT秘诀(第2版)——秘诀24为你的时间建一个构造图
  2. [原]vue实现全选,反选
  3. jQuery使用(十二):工具方法之type()之类型判断
  4. Linux隐藏文件标识
  5. JVM:如何分析线程转储
  6. php 递归到空如何处理,php递归调用删除数组空值元素的方法
  7. springboot启动报错LoggerFactory is not a Logback LoggerContext but Logback...
  8. 自从用python写了个自动弹幕脚本后,各大主播来找我,净赚十万!赶紧收藏!!
  9. Java中NIO和IO的比较
  10. 1077. 互评成绩计算 (20)-PAT乙级真题
  11. JDK1.8API文档中文版和英文版下载
  12. 没有配置任何软件的计算机上能够运行,禁止电脑安装任何软件
  13. 面试前端实习生 经验(1)
  14. 电子烟脱去糖衣后,下一步往哪走?
  15. 什么相片可以两张弄成一张_美图秀秀怎么把两张图片合成一张?美图秀秀两张图片融合方法汇总_图形图像_软件教程_脚本之家...
  16. SCU2016-04 F题 (大模拟)
  17. 解决退格键在MinGW的vim中不起作用的问题
  18. 【React】之受控组件和非受控组件
  19. 绿米Aara单火开关,ZigBee智能开关和单火线取电技术, 对于单火取电电源和ZIGBEE缩合分析
  20. iOS 免越狱修改微信运动步数

热门文章

  1. springmvc进不到controller_Spring、SpringMVC、MyBatis的整合
  2. 3层b+树索引访问磁盘次数_从B+树到LSM树,及LSM树在HBase中的应用
  3. mysql学习笔记--表操作
  4. json介绍及简单示例
  5. C# NameValueCollection
  6. (三)SpringMVC实现
  7. GNU make manual 翻译( 一百一十一)
  8. 基于 HTML5 WebGL 的 3D 智慧隧道漫游巡检
  9. Hibernate(十三)迫切内连接fetch
  10. 事件处理程序中event参数的传递