sql >> Databasteknik >  >> RDS >> Mysql

Fråga med två tidsstämplar fungerar inte

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




  1. postgresql lista och beställ tabeller efter storlek

  2. Jag kan inte få den här mysql-anslutningsfrågan att producera det önskade resultatet

  3. Lagra procedurer i phpMyAdmin

  4. Hur man får kolumnvärden i ett kommaseparerat värde