У меня проблема с таблицей 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 (допустимое целое число). Значения объектов будут NULL.
Если 0 является нормальным значением для вашего приложения, у вас есть проблема.
Если значение 0 не является ожидаемым значением для вашего приложения, просто обновите значения 0 до NULL.
UPDATE country SET `area` = NULL WHERE `area` = 0
Других решений пока нет …