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

La query con due timestamp non funziona

Il TIMESTAMP è in realtà simile a a DATETIME, ma il primo TIMESTAMP che dichiari ottiene l'inizializzazione automatica:

http://dev.mysql.com/doc/refman /5.0/en/timestamp-inizializzazione.html

Quindi, quando scrivi TIMESTAMP senza attributi la prima volta, MySQL lo converte internamente aggiungendo "DEFAULT CURRENT_TIMESTAMP". Quando MySQL incontra il secondo TIMESTAMP in cui hai impostato esplicitamente CURRENT_TIMESTAMP, va in conflitto.

Se invece definisci CURRENT_TIMESTAMP nella prima riga, allora è ridondante e poiché non specifichi nulla nella seconda, alla seconda non viene assegnato alcun valore predefinito e non entra in conflitto.

Dal collegamento sopra, "Non è necessario che sia la prima colonna TIMESTAMP in una tabella che viene inizializzata o aggiornata automaticamente al timestamp corrente. Tuttavia, per specificare l'inizializzazione o l'aggiornamento automatico per una colonna TIMESTAMP diversa, è necessario eliminare le proprietà automatiche per il il primo."