Cet article explique comment résoudre le problème d'erreur de valeur datetime incorrecte : '0000-00-00 00:00:00'. J'espère qu'il vous sera utile.
Cause :
Cette erreur se produit dans la version MySQL 5.7 et supérieure. Problèmes qui peuvent survenir :
La configuration SQL par défaut de la version MySQL 5.7 est : sql_mode="ONLY_FULL_GROUP_BY", cette configuration implémente strictement le "standard SQL92". .
Beaucoup lors de la mise à niveau de 5.6 vers 5.7, par souci de compatibilité syntaxique, la plupart d'entre eux choisiront d'ajuster sql_mode pour le garder cohérent avec 5.6, afin d'être aussi compatible que possible avec le programme.
niveau SQL
Lorsque SQL est exécuté, cette raison apparaît :
En termes simples :
Le résultat de sortie est appelé liste cible, qui est le champ qui suit la sélection, et il y a aussi un groupe par colonne, qui est
groupe par domaine suivi de. Puisque le paramètre ONLY_FULL_GROUP_BY est activé, si un champ n'apparaît pas dans la liste cible et dans le champ group by en même temps, ou est la valeur d'une fonction d'agrégation, alors cette requête SQL sera considérée comme illégale par MySQL et une erreur sera signalé.
SolutionModifiez le fichier mysql.ini
Ajoutez
sql-mode="STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"
sous la configuration [mysqld]
Redémarrez mysql[Recommandations associées :tutoriel vidéo mysql]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!