Появляется, если поле типа 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 перестанет обращать внимание на ‘нулевые’ даты.
Для начала проверьте, какие настройки у вас активны:
| 
					 1  | 
						SELECT @@sql_mode;  | 
					
Удалите значения режимов, связанных с нулевой датой. И задайте новое значение переменной sql_mode.
Помните, что если вы сделаете просто SET, то настройка будет действовать в рамках транзакции. Вам скорее всего потребуется установить значение для сессии или перманентно (глобально):
| 
					 1 2  | 
						SET GLOBAL sql_mode = ''; SET SESSION sql_mode = '';  | 
					
Но это также временные меры, после перезапуска mysql сервера, настройки вернутся к начальным. Для постоянного изменения нужно добавить значение для sql_mode в файл /etc/mysql/my.cnf:
| 
					 1 2  | 
						[mysqld] sql_mode = "ONLY_FULL_GROUP_BY"  | 
					
У меня из всего перечня, к примеру, осталась только директива для группировки.
