mysql表中记录重复解决方案
发布时间:2022-06-29 14:07 所属栏目:115 来源:互联网
导读:记录重复的这些问题小编介绍过非常的多了,如果不信可以可以百度找找,下面一起来看小编整理的一篇mysql表中记录重复处理方案,今天写了一个airport表,主要有这么几个字段. //主键id,机场英文名称,机场中文名称,机场三字码,机场所在城市名子 id, name, c_name,
记录重复的这些问题小编介绍过非常的多了,如果不信可以可以百度找找,下面一起来看小编整理的一篇mysql表中记录重复处理方案,今天写了一个airport表,主要有这么几个字段. //主键id,机场英文名称,机场中文名称,机场三字码,机场所在城市名子 id, name, c_name, code,city_name 由于机场三字码是不重复的,所以一开始我为airport表添加唯一索引. ALTER TABLE `airport` ADD UNIQUE(`code`); DROP INDEX code ON airport 上下爬虫程序代码: require('phpQuery.php'); phpQuery::newDocumentFile("http://******************因为某些原因***********"); $res = pq('tbody')->find('tr')->text(); 根据自己的业务逻辑插入到表中,很快完成了工作,完成之后,还是要理解三字码重复的问题,我的做法是采用了把所有重复的最小的三字码记录进行删除处理,最早写的代码如下: create TEMPORARY table tmp select id from airport WHERE id IN (SELECT id FROM airport GROUP BY code HAVING COUNT(code) > 1) AND id NOT IN (SELECT max(id) FROM airport GROUP BY code HAVING COUNT(code ) >1); delete from airport where id in (select id from tmp) ok,操作完成,再看看有没有重复的情况: SELECT id FROM airport GROUP BY code HAVING COUNT(code) > 1 如果有再进行删除,表的三字码已经不重复了,再为三字码添加唯一索引了. (编辑:ASP站长网) |
相关内容
网友评论
推荐文章
热点阅读