因为有张5级行政区划的数据表,里面原本使用code识别,但是数据有问题,不管是code还是short_code,第5级都有问题,不是唯一,但是根据parent_short_code可以找到4级区划,于是在表中添加了一个字段pid,根据id来判断就是唯一的了。但pid需要根据parent_short_code字段添加进去,没用遇到过这样的问题,本想写段PHP小程序解决,因为各种原因不方便。于是重新学习了一下mysql的自联查询更新。代码如下:
UPDATE area INNER JOIN (SELECT a.id,a.short_code FROM area a) c ON area.parent_short_code=c.short_code SET area.pid=c.id;
仅此记录备忘。