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."