TIMESTAMP är faktiskt liknande en DATETIME, men den första TIMESTAMP du deklarerar får automatisk initialisering:
http://dev.mysql.com/doc/refman /5.0/en/timestamp-initialization.html
Så när du skriver TIMESTAMP utan attribut första gången, konverterar MySQL det internt och lägger till "DEFAULT CURRENT_TIMESTAMP". När MySQL stöter på den andra TIMESTAMP där du uttryckligen ställer in CURRENT_TIMESTAMP, blir det konflikt.
Om du definierar CURRENT_TIMESTAMP i den första raden är det dock överflödigt - och eftersom du inte anger något i den andra, tilldelas den andra ingen standard och hamnar inte i konflikt.
Från länken ovan, "Det behöver inte vara den första TIMESTAMP-kolumnen i en tabell som automatiskt initieras eller uppdateras till den aktuella tidsstämpeln. Men för att ange automatisk initiering eller uppdatering för en annan TIMESTAMP-kolumn måste du undertrycka de automatiska egenskaperna för första."