我應該在第一串與CONCAT MySQL的更新沒有工作
前加一個零,我選擇我的數據來驗證
mysql> SELECT cp, LENGTH(cp), CONCAT(0, `cp`) FROM communes WHERE LENGTH(cp) < 5
ORDER BY cp ASC LIMIT 4;
+------+------------+-----------------+
| cp | LENGTH(cp) | CONCAT(0, `cp`) |
+------+------------+-----------------+
| 1000 | 4 | 01000 |
| 1000 | 4 | 01000 |
| 1000 | 4 | 01000 |
| 1090 | 4 | 01090 |
+------+------------+-----------------+
4 rows in set (0.03 sec)
,它工作得很好。
在第二,我嘗試更新
mysql> UPDATE communes SET cp = CONCAT(0,`cp`) WHERE LENGTH(cp) < 5;
Query OK, 0 rows affected (0.07 sec)
Rows matched: 3447 Changed: 0 Warnings: 0
我不明白爲什麼它沒有爲信息
mysql> describe communes;
+------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+----------------+
| id | int(10) | NO | PRI | NULL | auto_increment |
| title | varchar(255) | NO | | NULL | |
| cp | int(6) | NO | | NULL | |
| dept | varchar(255) | NO | | NULL | |
| code_insee | int(11) | NO | | NULL | |
+------------+--------------+------+-----+---------+----------------+
5 rows in set (0.01 sec)
工作
謝謝很多
CP列是int類型。你需要使這個varchar/char –