背景:
今天在用crawler爬数据的时候,第一次爬的时候被我意外中止了,后来又重新开始,但却忘了清除一些垃圾数据,导致在wordlocation 表中产生了不少重复的记录。
wordlocation 表的定义如下 wordlocation(urlid, wordid, location),其中(urlid, wordid) 应该是唯一的。
要求:
从wordlocation 表中删除多余的重复数据
方案:
创建一个结构一模一样的表wl_new,然后执行下面的语句
INSERT INTO wl_new SELECT * FROM wordlocation GROUP BY urlid, wordid
最后的GROUP BY 保证了(urlid, wordid)的唯一性
然后再删除wordlocation表中的所有数据,把wl_new的所有数据插入到wordlocation,最后删除wl_new即可