需要在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 */

最新文章

  1. 用原生javascript实现在页面动态显示时间
  2. iOS 直播-网速监控
  3. 获取centos6.5系统信息脚本
  4. SQL server 专业词汇
  5. phpspidercookie
  6. .NET Reflector Visual Studio Extension
  7. 将服务器上的myql数据库导入本地数据库
  8. Windows 7 Shortcuts (完整兼具分类有序,想我所想,赞!)
  9. c/c++性能优化--- cache优化的一点杂谈
  10. Mac下显示隐藏文件 以及修改 hosts文件内容
  11. [SignalR]Self-Host
  12. IOS SDK相机的详细解释/画廊(默认+他们的高清摄像头接口)
  13. java web:在eclipse中如何创建java web 项目
  14. 使用layui-tree美化左侧菜单,点击生成tab选项
  15. python note 13 内置函数
  16. js获取地址栏中的数据
  17. JAVA 没有重载运算符,那么 String 类型的加法是怎么实现的,以及String类型不可变的原因和好处
  18. 【HANA系列】SAP HANA XS的JavaScript安全事项
  19. lua 工具类(二)
  20. 最短路径-----迪杰斯特拉算法(C语言版)

热门文章

  1. tomcat中开启的对SSL(https)的支持
  2. 完全卸载oracle10G/11G步骤
  3. win7(32 bit) 环境下点击打印预览报错解决办法
  4. SQL中存储过程和自定义函数的区别(转载)
  5. Mybatis设置自增主键
  6. [LeetCode]题解(python):144-Binary Tree Preorder Traversal
  7. pyhton
  8. Nuget升级问题
  9. Windows 安装 psutil
  10. JAVA GUI学习 - JPopupMenu鼠标右键菜单组件学习