Поле Mysql int со значением по умолчанию равно 0

У меня проблема с таблицей 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

Проблема заключается в том, что при изменении или установке числового поля на int или float, используя значение по умолчанию null, и оно принимает нулевое значение, оно устанавливает его как 0 для полей без предоставленных данных.

Я использую следующий SQL:

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

Я ожидаю увидеть NULL в полях без данных не видать 0 потому что это создает некоторые проблемы в приложении, когда оно проверяет значения NULL, но находит его 0. Я пытался найти объявление от MySQL о любых ошибках, связанных с рассматриваемой версией, но я не смог ничего найти.

0

Решение

Это не ошибка, ваши старые значения равны 0 (допустимое целое число). Значения объектов будут NULL.
Если 0 является нормальным значением для вашего приложения, у вас есть проблема.
Если значение 0 не является ожидаемым значением для вашего приложения, просто обновите значения 0 до NULL.

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]