Mysql
 sql >> Database >  >> RDS >> Mysql

ERRORE 1067 (42000):valore predefinito non valido per 'end_time'

MySQL tratta timestamp in un modo speciale, è un po' difficile da trovare nelle documentazione quando non sai cosa stai cercando:

Ciò significa che il tuo secondo timestamp not null la colonna otterrà un valore predefinito implicito di '0000-00-00 00:00:00' , che non è consentito in combinazione con NO ZERO DATE e rigoroso sql mode (che è abilitata per impostazione predefinita in MySQL 5.7) e provoca il tuo errore.

Per risolvere il tuo problema, abilita l'opzione --explicit_defaults_for_timestamp . Tratta il timestamp colonne come previsto (e sarà comunque il comportamento predefinito in qualche futura versione di MySQL), oppure consenti loro di essere null .