Om man vill att en kolumn ska uppdateras med en tidsstämpel för tidpunkten vid en UPDATE kan man göra ett av följande om en kolumn för tiddsstämpel redan finns:
1: Kör ALTER TABLE för att anpassa kolumnens DEFAULT-värde:
ALTER TABLE `[tabell]` CHANGE `[kolumn]` `[kolumn]` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
2: Skapa en TRIGGER för att hantera uppdateringen:
CREATE TRIGGER [namn_på_trigger] BEFORE UPDATE on `[tabell]` FOR EACH ROW SET NEW.[kolumn] = NOW();
Om man vill att en kolumn ska uppdateras med en tidsstämpel för tidpunkten vid en INSERT kan man göra ett av följande om en kolumn för tidsstämpel redan finns:
1: Använd samma metod som förra punktlistan, alternativ 1.
2: Skapa en TRIGGER för att hantera inläggen:
CREATE TRIGGER [namn_på_trigger] BEFORE INSERT ON `[tabell]` FOR EACH ROW SET NEW.[kolumn] = NOW();
Antar att det var för exemplets skulle osv men TIMESTAMP-kolumner som har NOW() som DEFAULT blir korrekta när man skickar NULL till dem.
Vid UPDATE uppdateras första TIMESTAMP-kolumnen automatiskt om den får NULL, efterföljande TIMESTAMP berörs inte av en UPDATE – smidigt om man vill ha en kolumn för att visa när en rad senast redigerades och en annan för att visa när den först lades in i tabellen.