当前位置

用SQL语句纠正导入的错误数据

James Qi 在 2011年9月28日 - 22:58 提交
内容摘要: 前一阵子发现导入的邮编数据中,一些0开头的6位数最前面一位不知道什么时候搞丢了,只剩下5位数了,这显然是错的,因为有379个,手工改起来很麻烦,只有设法批量改了,在网上查了办法,然后又找同事咨询......

  前一阵子发现导入的邮编数据中,一些0开头的6位数最前面一位不知道什么时候搞丢了,只剩下5位数了,这显然是错的,因为有379个,手工改起来很麻烦,只有设法批量改了,在网上查了办法,然后又找同事咨询,最后一条SQL语句就解决了。

  但当时没有记录下来,今天在新导入的另外一套邮编数据中又发现这个问题,只有重新找资料、测试了,还好很快就弄好了,这次记录下来这个语句:

UPDATE `content_field_postcode` SET `field_postcode_value`=CONCAT("0",`field_postcode_value`) WHERE LENGTH(`field_postcode_value`)=5;

  在phpMyAdmin中运行很方便,然后可以用下面这条再检查是否存在5位数的字段内容:

SELECT * FROM `content_field_postcode` WHERE length(`field_postcode_value`)=5;

  以后再有类似问题就免得重新找资料了。

自由标签:

添加新评论

Plain text

  • 不允许使用HTML标签。
  • 自动将网址与电子邮件地址转变为链接。
  • 自动断行和分段。
验证码
本问题用于测试您是否为人类访问者,避免自动垃圾发贴。
图形验证
键入显示在图片中的字符