MySql ошибка Invalid default value for 'DATE'

07.12.2022

При добавлении нового поля в таблицу, получил неожиданную ошибку MySql: Invalid default value for 'DATE'.

Оказалось, что одно из полей таблицы было задано как `DATE` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' и, скорее всего, из-за смены версии MySql, такая запись стала невалидной.

Решение:

Сначала сменить значение по умолчанию для поля на current_timestamp:

 
ALTER TABLE `reviews` 
MODIFY `DATE` datetime NOT NULL DEFAULT current_timestamp

а потом добавить нужное, например:

 
ALTER TABLE `reviews`
ADD `TEST` varchar(255) COLLATE 'utf8_unicode_ci' DEFAULT NULL;


Категории: SQL
Яндекс.Метрика