Mysql
 sql >> Base de données >  >> RDS >> Mysql

Valeur DateTime incorrecte '0000-00-00 00:00:00' - Date_Sub() dans Ayant

Première option :

Cet avertissement pourrait probablement être dû au SQL_MODE .

Selon la documentation mysql "Si le mode SQL NO_ZERO_DATE ou NO_ZERO_IN_DATE est activé, aucune date ou partie de date n'est autorisée.". Cela peut donc être la cause de votre INSERT avec '0000-00-00 00:00:00' échoue.

Vous pouvez vérifier votre mode sql en exécutant ceci :

SELECT @@sql_mode;

et si l'un des NO_ZERO_DATE ou NO_ZERO_IN_DATE sont définis, vous pouvez simplement :

SET sql_mode = '';

Deuxième option

L'autre option est qu'il échoue à cause du STRICT_TRANS_TABLES mode.Comme le dit la documentation mysql :

La même chose est valable pour la date et l'heure.

Vous devez donc soit désactiver le MODE STRICT OU si la désactivation n'est pas une option - modifiez la requête afin qu'elle ne renvoie pas de résultat date/datetime invalide