Ошибка MySQL Incorrect datetime value: ‘0000-00-00 00:00:00’

Появляется, если поле типа datetime уже содержит подобные нулевые значения при попытке изменить как тип поля (через alter table), так и сами значения в таблице.

Вероятно ошибка возникает, если вы импортировали данные в вашу базу. Скорее всего из-за не совпадения настроек баз данных, а именно отличия режимов, задаваемых в глобальной переменной sql_mode.

Подробнее о режимах можно почитать тут — https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html

Сообщение ‘Incorrect datetime value’ вызывается режимами NO_ZERO_IN_DATE, NO_ZERO_DATE, отключите их и также ERROR_FOR_DIVISION_BY_ZERO. MySQL перестанет обращать внимание на ‘нулевые’ даты.

Для начала проверьте, какие настройки у вас активны:

Удалите значения режимов, связанных с нулевой датой. И задайте новое значение переменной sql_mode.

Помните, что если вы сделаете просто SET, то настройка будет действовать в рамках транзакции. Вам скорее всего потребуется установить значение для сессии или перманентно (глобально):

Но это также временные меры, после перезапуска mysql сервера, настройки вернутся к начальным. Для постоянного изменения нужно добавить значение для sql_mode в файл /etc/mysql/my.cnf:

У меня из всего перечня, к примеру, осталась только директива для группировки.

Написать комментарий

Мало букафф? Читайте есчо !

Экспорт данных из PostgreSQL в MySQL

Март 19, 2017 г.

Можно действовать разными способами, в зависимости от ситуации. Мне требовалось вытащить данные из проекта на Python/Django/PostgreSQL, чтобы потом экспортировать ...

Читать

Создать пользователя MySQL и выдать ему права на базу данных

Июль 20, 2023 г.

Обычно для этого требуется выполнить две команды - создать пользователя, выдать права. Создание пользователя MySQL Для нашей цели достаточно выполнить следующую команду: [crayon-662b45c688e8a702085434/] Где new-user-name - имя нового пользователя, ...

Читать

 

Комментарии к «Ошибка MySQL Incorrect datetime value: ‘0000-00-00 00:00:00’»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: