MySQL: Incorrect datetime value: ‘0000-00-00 00:00:00’ for column

Se durante l’import di un dump MySQL proveniente da una vecchia versione MySQL viene mostrato un errore simile a :

ERROR 1292 (22007) at line xx: Incorrect datetime value: '0000-00-00 00:00:00' for column 'login' at row 

significa che la versione corrente di MySQL non consente di inserire il valore ‘0000-00-00 00:00:00’ per i campi data/ora.

Si può verificare velocemente la configurazione dalla CLI di MySQL eseguendo:

SELECT @@sql_mode;

dove verrà visualizzato qualcosa del genere:

+-------------------------------------------------------------------------------------------------------------------------------------------+

| @@sql_mode |

+-------------------------------------------------------------------------------------------------------------------------------------------+

| 
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |

+-------------------------------------------------------------------------------------------------------------------------------------------+

1 row in set (0,00 sec)

Per ovviare a questa limitazione, consiglio questo piccolo escamotage. Aprite il file di dump ed inserite, come prima riga, la seguente:

SET sql_mode='ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

Ora ripetere la procedura di import e… voilà

enjoy!

Ti interessa acquistare un dominio a prezzi ultraconvenienti? clicca qui

Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario 🙂



Commenta