前一陣子發現導入的郵編數據中,一些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;
以後再有類似問題就免得重新找資料了。
评论