【发布时间】:2013-09-10 00:34:55
【问题描述】:
我有 2 个 mysql 表:
位置
- id_location
- 城市
location_geo
- ip_start
- ip_end
- id_location
问题是location表中至少有1/4的城市是重复记录。我可以轻松地运行这个查询并删除那些重复的记录:
ALTER IGNORE TABLE location ADD UNIQUE INDEX idx (city);
但在这样做之前,我还必须使用唯一的城市 ID 更新 location_geo 表。例如,这是一种可能性:
位置
- 129,洛杉矶
- 145,纽约
- 176,洛杉矶
- 856,洛杉矶
location_geo
- 16778240, 16778751, 129
- 16817792, 16819711, 176
- 16820992, 16822527, 129
- 16827904、16828415、856
- 16829440, 16832511, 145
- 16832512, 16832639, 129
location_geo 内的 id_location 字段应更新为 location 表中的第一个可用 ID,以便示例中的结果应显示:
- 16778240, 16778751, 129
- 16817792, 16819711, 129
- 16820992, 16822527, 129
- 16827904、16828415、129
- 16829440, 16832511, 145
- 16832512, 16832639, 129
顺便说一句,location_geo 表中有 2,021,182 条记录。
我们将不胜感激。
【问题讨论】:
标签: mysql sql sql-update parent-child