最近在开发中遇到一个这样的问题:
从340万条数据中查找出三个字段是重复的值,然后删除这些重复的字段值并保留一条。其实这个功能在mysql中已经有这样的命令了。但是xx要求用程序实现,我了个去啊,高效的东西不用,非得自己搞。 然后简单想了下实现逻辑。 先用select语句按照字段分组查出重复的三字段,然后建张临时表,将uid 存储一份,最后删除原表中的所有数据,再将存储的一份插入。
问题是解决了,但是问题又来了,主要问题是:在插入时插入的数据又有相同的,这样在插入时会报 dumplicate xx error. 解决问题的方法是:insert ignore into。
另外在使用时还有一个问题:ALTER IGNORE TABLE t ADD INDEX does not ignore in fast index creation .这个不起作用。
mysql 官网,bug#40344里面提到了一个解决方法:workaround is to first run "set session old_alter_table=1;"试了一下,确实可以。
简单的在此过个笔记。
最后
以上就是孤独指甲油最近收集整理的关于mysql 插入去重,以及设置联合唯一索引问题的全部内容,更多相关mysql内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复