Salut fwebconcept.
"#1292 - incorrect datetime value : '0000-00-00 00:00:00' for column 'a_partir_datetime' at row 1433
Le message d'erreur est pourtant clair, vous ne pouvez pas avoir de date à zéro !
Donc j'en déduis que vous n'avez pas la même version MySql entre votre environnement de développement et de production.
Ou plus simplement, vous n'avez pas le même fichier my.ini (ou my.cnf si vous êtes sous linux).
Pour contourner ce problème, vous mettez autre chose que '0000-00-00 00:00:00'.
Soit vous mettez la date la plus petite qui est autorisée '1970-01-01 00:00:00'.
Soit vous acceptez les dates à zéro, ce qui est une erreur !
Pour ce faire, vous devez modifier la variable système "sql-mode".
Voici son contenu chez moi (mysql 5.7.17) :
1 2 3 4 5 6 7 8 9
| mysql> show variables like 'sql_mode';
+---------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| Variable_name | Value |
+---------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 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)
mysql> |
Et vous pouvez lire comme paramètre : "NO_ZERO_IN_DATE,NO_ZERO_DATE".
Il y a aussi "explicit-defaults-for-timestamp" a mettre dans votre fichier "my.ini".
--> https://dev.mysql.com/doc/refman/5.6..._for_timestamp
Et si cela fonctionne dans votre environnement de développement et pas en production, vous devez comparez le paramétrage du fichier my.ini.
@+
Partager