默认为null的Mysql int字段设置为0

时间:2015-01-14 14:45:14

标签: php mysql mysqli phpmyadmin mysql-5.6

我的Mysql表有问题。首先是我的服务器版本5.6.17,我使用PHPmyadmin 4.2.0来管理PHP版本5.5.12和PHPmyadmin使用的数据库客户端:Database client version: libmysql - mysqlnd 5.0.11-dev - 20120503 - $Id: bf9ad53b11c9a57efdb1057292d73b928b8c5c77 $和使用的PHP扩展名是在phpmyadmin mysqli

问题是当使用默认值null更改或设置数字字段为int或float时,如果没有提供数据的字段,它将接受空值设置为0

我使用以下SQL:

ALTER TABLE `country` CHANGE `area` `area` INT(11) NULL DEFAULT NULL;

我希望在没有数据的字段中看到NULL不能看到0,因为这会在应用程序检查NULL值但它找到它时会产生一些问题。我试图寻找来自MySQL的任何有关该版本相关错误的公告,但我找不到任何东西。

1 个答案:

答案 0 :(得分:1)

这不是错误,旧值为0(有效整数)。功能值将为NULL。 如果0是您的应用程序的正常值,则表示您遇到问题。 如果0不是您的应用程序的预期值,请将您的0值更新为NULL。

UPDATE country SET `area` = NULL WHERE `area` = 0