我在VARCHAR(45)
中有一个MySQL 5.5.24
字段,当我尝试将其设置为0
时,该字段默认为''
。
我以某种方式,以前从未见过这种情况,或从未注意到它。
我是否遗漏了一些明显的东西,或者这是预期的行为?
ALTER TABLE test CHANGE COLUMN my_varchar_field my_varchar_field VARCHAR(45) NOT NULL DEFAULT '';
UPDATE test SET my_varchar_field = '' WHERE my_id = 1;
SELECT my_varchar_field FROM test;
+-----------------------------+
| my_varchar_field |
+-----------------------------+
| 0 |
+-----------------------------+
1 row in set (0.00 sec)
答案 0 :(得分:0)
尝试:
UPDATE test SET my_varchar_field = NULL WHERE my_id = 1;
答案 1 :(得分:0)
试试这个
ALTER TABLE `test ` CHANGE `my_varchar_field` `my_varchar_field` VARCHAR(45) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '';
感谢