Når man gerne vil holde lidt styr på dataene i databasen, er det typisk at gemme oplysning om hvornår og hvem der oprettet data, og hvornår og hvem der sidst har ændret data.

I MySQL databaser er det noget der delvist kan automatiseres ved hjælp af TIMESTAMP felter - men helt uden problemer er det ikke..
Jeg kommer ikke ind på hvem spørgsmålet - ud over at det er noget man ALTID selv skal gemme fra sin .php kode.

På MySQL.com siderne findes i reference manualen: TIMESTAMP Properties. Her tilstræbes det at give forklaring på hvordan man kan få automatisk opdatering af 2 TIMESTAMP felter.
Den korte udgave: det virker ikke, men husk at oprettelses feltet skal være det første timestamp felt og det andet timestamp felt ændringsfeltet er det der skal opdateres automatisk.

Læs mere forklaring i artiklen

Update and create timestamps with MySQL


Som det fremgår SKAL man gemme værdien NULL i oprettelses feltet for at sikre at det rigtige tidspunkt gemmes. I princppet kan dette undgås ved at opretter en 'trigger' på databasen sådan som beskrevet i artiklen MEN det kræver super admin adgang til server (== root på Unix servere), og det har man ikke på et webhotel.

Konklusion: Der  skal kodes NULL ved oprettelse - men kun i oprettelsesfeltet. Ændringsfeltet fungere af sig selv.
 

Comments powered by CComment