sql >> Databáze >  >> RDS >> Mysql

MySQL ON UPDATE CURRENT_TIMESTAMP se neaktualizuje

Zkusili jste při aktualizaci použít pro toto pole hodnotu null?

Můžete také zkusit nastavit výchozí hodnotu na CURRENT_TIMESTAMP , spíše než 0000-00-00 00:00:00 .

Nicméně, kdykoli chci mít čas na vytvoření a aktualizaci, vždy použiji následující:

...
CREATED timestamp NOT NULL default '0000-00-00 00:00:00',
UPDATED timestamp NOT NULL default now() on update now(),
....

Používám now() , protože je alias pro CURRENT_TIMESTAMP a je kratší. Na konci získá struktura tabulky CURRENT_TIMESTAMP , takže se nebojte.

Trik s CREATED pole je nezapomeňte použít null v obou polích pro INSERT výpisy pro UPDATE prohlášení to není vyžadováno:

INSERT INTO mytable (field1, field2, created, updated)
VALUES ('foo', 'bar', null, null);


  1. Připojení .NET na Linuxu ke zdroji dat ODBC

  2. Proč se mi při pokusu o načtení objektu blob do databáze zobrazí chyba java.lang.AbstractMethodError?

  3. Jak zakázat CDC na sadě tabulek NEBO zakázat na všech tabulkách v databázi na SQL Server - SQL Server výukový program

  4. grantový soubor pouze v jedné databázi