sql >> Database >  >> RDS >> Mysql

Query met twee tijdstempels werkt niet

De TIMESTAMP is eigenlijk vergelijkbaar met een DATETIME, maar de eerste TIMESTAMP die u declareert, wordt automatisch geïnitialiseerd:

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

Dus wanneer u TIMESTAMP de eerste keer zonder attributen schrijft, converteert MySQL het intern door "DEFAULT CURRENT_TIMESTAMP" toe te voegen. Wanneer MySQL de tweede TIMESTAMP tegenkomt waar u expliciet CURRENT_TIMESTAMP instelt, gaat er een conflict ontstaan.

Als u echter CURRENT_TIMESTAMP in de eerste rij definieert, is het overbodig - en aangezien u niets opgeeft in de tweede, krijgt de tweede geen standaardwaarde toegewezen en treedt er geen conflict op.

Via de bovenstaande link:"Het hoeft niet de eerste TIMESTAMP-kolom in een tabel te zijn die automatisch wordt geïnitialiseerd of bijgewerkt naar de huidige tijdstempel. Als u echter automatische initialisatie of updates wilt specificeren voor een andere TIMESTAMP-kolom, moet u de automatische eigenschappen voor de eerste."




  1. flake8 klaagt over booleaanse vergelijking ==in filterclausule

  2. Postgresql - is er een manier om de weergave van INSERT-instructies uit te schakelen bij het inlezen uit een bestand?

  3. TSQL-e-mailvalidatie (zonder regex)

  4. Omgaan met trage zoekopdrachten met PostgreSQL