ecshop地区数据表region中部分地区重复的bug
更新时间:2016-03-04 点击量:1711
修复ecshop部分地区重复的问题
1、发现bug
偶然的情况下,发现ecshop在选择地址时,四川id:26
->成都id:322
—> 都江堰市到新津县(id:2733-2752
)这部分区县出现重复的情况。如下图:
在数据库中找到这部分如图
有可能是在使用过程出现的问题,进一步找到ecshop原始的安装源码,发现sql数据的这一段,也是重复的 。
2、更多重复信息
现在只发现四川省id:26
成都id:322
下的区县有重复,还有可能地区也有重复,写了个sql语句查询下:
结果:
region_id | parent_id | region_name | region_type | agency_id | |
---|---|---|---|---|---|
623 | 64 | 安定区 | 3 | 0 | |
624 | 64 | 安定区 | 3 | 0 | |
2733 | 322 | 都江堰市 | 3 | 0 | |
2734 | 322 | 彭州市 | 3 | 0 | |
2735 | 322 | 邛崃市 | 3 | 0 | |
2736 | 322 | 崇州市 | 3 | 0 | |
2737 | 322 | 金堂县 | 3 | 0 | |
2738 | 322 | 双流县 | 3 | 0 | |
2739 | 322 | 郫县 | 3 | 0 | |
2740 | 322 | 大邑县 | 3 | 0 | |
2741 | 322 | 蒲江县 | 3 | 0 | |
2742 | 322 | 新津县 | 3 | 0 | |
2743 | 322 | 都江堰市 | 3 | 0 | |
2744 | 322 | 彭州市 | 3 | 0 | |
2745 | 322 | 邛崃市 | 3 | 0 | |
2746 | 322 | 崇州市 | 3 | 0 | |
2747 | 322 | 金堂县 | 3 | 0 | |
2748 | 322 | 双流县 | 3 | 0 | |
2749 | 322 | 郫县 | 3 | 0 | |
2750 | 322 | 大邑县 | 3 | 0 | |
2751 | 322 | 蒲江县 | 3 | 0 | |
2752 | 322 | 新津县 | 3 | 0 |
查询结果显示除了四川省id:26
成都id:322
下的区县重复,还有一个是 甘肃id:5
定西id:64
下的 安定区id:623-624
// 前缀不是默认的 ecs_ 请自行修改 DELETE FROM `ecs_region` WHERE `region_id` = 624 OR (`region_id` > 2742 AND `region_id`<2753) LIMIT 11;
修改 ecs_order_info 和ecs_user_address 中的地区信息
// 前缀不是默认的 ecs_ 请自行修改 UPDATE `ecs_order_info` SET district = district - 10 WHERE district > 2742 AND district < 2753; UPDATE `ecs_user_address` SET district = district - 10 WHERE district > 2742 AND district < 2753;UPDATE `ecs_order_info` SET district = 623 WHERE district =624; UPDATE `ecs_user_address` SET district = 623 WHERE district=624;
注意: 执行SQL语句前,请注意备份
如果文章对您有帮助,就打赏一个吧