SoulGodMedlem sedan aug. 20051 200 inlägg Jag har en kolumn i min databas som heter pretime,
och den blir automatiskt satt till 0000-00-00 00:00:00 när en rad skapas.
Jag skulle vilja att den alltid (när den kallas till en sida), uppdateras till aktuell tid just då..
Alltså "aktuell" helt enkelt.
Går det? och isåfall hur?
Kan man förprogrammera det i databasen,
eller lägger jag det i sidan som hämtar $pretime?
dreasMedlem sedan jan. 2004140 inlägg Det verkar vara en TIMESTAMP du har satt kolumnen till i databasen, och är det MySQL så har du CURRENT_TIMESTAMP som alternativ. Använder du phpMyAdmin har du en checkbox under fältet "standard"
SoulGodMedlem sedan aug. 20051 200 inlägg Hittade det du beskrev, skall testa det omgående.
Frågan är som sagt:
Ger den mig värdet som den gör "just då" när raden skapas,
eller just när jag hämtar den?
EDIT:
Testade den, den la ändå in värdet 000 o.s.v i fältet?
dreasMedlem sedan jan. 2004140 inlägg Standard värdet i mysql anger det som skrivs till fältet när raden skapas.
Så att; du ska få datum & tidsstämpel i stil med 2008-11-26 17:28:32 när raden skapas.
Möjligt att du behöver ha attribut satt också. I phpMyAdmin hittar du det på samma ställe som kryssrutan för CURRENT_TIMESTAMP.
Sätt attributet till ON UPDATE CURRENT_TIMESTAMP
SoulGodMedlem sedan aug. 20051 200 inlägg Nu sparade den värdet rätt.
Men - frågan är - är den alltid satt till det värdet nu?
För just pretime skall ju som sagt ändras till vad tiden är just när man "frågar" efter värdet.
Så frågar jag den 3 ggr , varannan timme, så skall den ge mig 3 olika svar?
dreasMedlem sedan jan. 2004140 inlägg Jag har nog läst din fråga lite slarvigt. Gör du bara en fråga? Alltså en select sats?
Om något ska ändras eller skrivas till databasen, måste du ju alltid ha en update eller insert. En lösning är väl att då nyttja ON UPDATE.. funktionen, dvs. att du gör en update för den raden varje gång du "frågar". Du kan kombinera ett standardvärde med en ON_UPDATE.
Mer om timestamp och current_timestamp:
http://dev.mysql.com/doc/refman/5.0/en/timestamp.html
"With a constant DEFAULT value, the column has the given default and is not automatically initialized to the current timestamp. If the column also has an ON UPDATE CURRENT_TIMESTAMP clause, it is automatically updated; otherwise, it has a constant default and is not automatically updated. "