Ошибка 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:

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

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

Развертывание бекапов mySQL из консоли unix

Февраль 6, 2018 г.

Как развернуть дамп базы данных mySQL, созданный ранее? Дамп представляет из себя mysql скрипт, в котором последовательно создаются таблицы (CREATE TABLE ...) и, возможно, другие объекты и производиться их наполнение (INSERT INTO ...). Нужно лишь отправить ...

Читать

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

Март 19, 2017 г.

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

Читать

Вывод размеров таблиц в Mb, используя information_schema

Май 10, 2019 г.

Если вы пользуетесь phpMyAdmin или похожим менеджером баз данных, то привыкли видеть размеры таблиц в списке. Порою, нет возможности установить дополнительные инструменты на сервер, но это не страшно, т.к. требуемую информацию получить не сложно. ...

Читать

Как изменить значение AUTO_INCREMENT таблицы в MySQL

Август 3, 2022 г.

Наиболее простой ответ - это использование запроса alter, где вы задаёте новое значение для AUTO_INCREMENT нужной вам таблицы: [crayon-6982372c5a7d5241913261/] Вы можете достичь такого же эффекта изменениями соответствующего столбца вашей таблицы: ...

Читать
 

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

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



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