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

ERREUR 1067 (42000) :valeur par défaut non valide pour 'end_time'

MySQL traite timestamp d'une manière particulière, c'est un peu difficile à trouver dans les documentation quand vous ne savez pas ce que vous cherchez :

Cela signifie que votre deuxième timestamp not null obtiendra une valeur par défaut implicite de '0000-00-00 00:00:00' , qui n'est pas autorisé en combinaison avec le NO ZERO DATE et strict mode sql (qui est activé par défaut dans MySQL 5.7) et entraîne votre erreur.

Pour résoudre votre problème, activez l'option --explicit_defaults_for_timestamp . Il traite l'timestamp comme prévu (et ce sera de toute façon le comportement par défaut dans une future version de MySQL), ou autorisez-les à être null .