国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mysql表中記錄重復解決方案

2024-07-24 12:35:28
字體:
來源:轉載
供稿:網友
  記錄重復的這些問題小編介紹過非常的多了,如果不信可以可以百度找找,下面一起來看小編整理的一篇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
 
  如果有再進行刪除,表的三字碼已經不重復了,再為三字碼添加唯一索引了.
 
 

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 台前县| 雷州市| 海晏县| 绥阳县| 增城市| 胶南市| 清水河县| 扶绥县| 阳信县| 驻马店市| 镇宁| 喀喇沁旗| 荆门市| 成安县| 攀枝花市| 壶关县| 兴城市| 武功县| 江阴市| 隆安县| 喀喇沁旗| 祥云县| 正阳县| 新乐市| 九龙县| 新巴尔虎右旗| 镇安县| 肃南| 贡山| 宜君县| 裕民县| 阿合奇县| 稷山县| 资讯 | 察雅县| 威远县| 昆明市| 双牌县| 长乐市| 沙洋县| 双柏县|