Invalid default value für Date / Datetime beheben

WordPress nutzt als Default-Wert für Date bzw. Datetime-Felder „0000-00-00“ bzw. „0000-00-00 00:00:00“. Ab MySQL in der Version 5.7 (bzw. auch MySQL 8) kann das zu Problemen führen, da MySQL in diesen Versionen standardmäßig im Strict Mode läuft und diese Default-Werte nicht mehr zulässt.

Möchte man nun aber ein SQL-Dump einspielen, der genau diese Default-Werte setzen möchte, erhält man die Fehlermeldung „Invalid default value for FIELDNAME“.

Um dieses Problem zu umgehen, muss man STRICT_TRANS_TABLES deaktivieren. Dies geschieht lokal via:

SET sql_mode = '';

oder global (entsprechende Rechte vorausgesetzt) via:

SET GLOBAL sql_mode = '';

Klappt beides nicht, muss man STRICT_TRANS_TABLES in der my.cnf bei sql_mode entfernen. Anschließend sollte man den entsprechenden Dump problemlos importieren können.

Schreibe einen Kommentar