TIMESTAMP je ve skutečnosti podobný DATETIME, ale první TIMESTAMP, které deklarujete, získá automatickou inicializaci:
http://dev.mysql.com/doc/refman /5.0/en/timestamp-initialization.html
Když tedy poprvé zapíšete TIMESTAMP bez atributů, MySQL jej interně převede přidáním „DEFAULT CURRENT_TIMESTAMP“. Když MySQL narazí na druhý TIMESTAMP, kde jste explicitně nastavili CURRENT_TIMESTAMP, dostane se do konfliktu.
Pokud však definujete CURRENT_TIMESTAMP v prvním řádku, pak je to nadbytečné – a protože ve druhém nic neuvedete, druhému se nepřiřadí žádná výchozí hodnota a nedojde ke konfliktu.
Z výše uvedeného odkazu:"Nemusí to být první sloupec TIMESTAMP v tabulce, který je automaticky inicializován nebo aktualizován na aktuální časové razítko. Chcete-li však zadat automatickou inicializaci nebo aktualizaci pro jiný sloupec TIMESTAMP, musíte potlačit automatické vlastnosti pro první."