sobota 23. ledna 2010

MySQL a automatický TIMESTAMP

Narazil jsem na chybovou hlášku:

1293 There can be only one TIMESTAMP column with CURRENT_TIMESTAMP in default

Následovalo koumání proč MySQL umí automaticky vytvářet sloupce s aktuálním časem:
  • Pouze na jednom sloupci
  • Pouze ve formátu timestamp
Jelikož potřebuji často více sloupců nastavovat na aktuální dobu a navíc dávám přednost formátu datetime, zjistil jsem, že tato automatika je pouze historický pohrobek toho stroje a proto má takové omezení.

Řešení je v Triggeru:

CREATE TRIGGER tabulka BEFORE INSERT ON tabulka FOR EACH ROW

SET NEW.vytvoreno = NOW();
SET NEW.vytvorenodalsisoupec = NOW();


Žádné komentáře:

Okomentovat