jeg har oprettet en tabel i min mysql database, der ligner noget i stil med:
ID [int(10) unsigned auto_increment] text [varchar(150)] created [timestamp]
Jeg laver nogle kald til databasen gennem php. Bl.a.
UPDATE tabel SET text = 'noget tekst'WHERE ID = 2;
Når jeg forsøger at update feltet text ændres datoen i created til d.d. som om jeg havde benyttet kommandoen NOW()? Jeg ønsker i midlertid at beholde den dato, der allerede er gemt i feltet.
Meningen med TIMESTAMP er jo netop, at den opdateres med dags dato og tid, hver gang du udfører en INSERT eller en UPDATE. Hvis du ikke skal bruge denne funktion, skal du bruge DATETIME istedet som chries skriver.
Jeg syntes den er unødvendig. Det er vel egentlig et forsøg på at afhjælpe at MySQL ikke har triggers - men jeg ville hellere have undværet den ekstra kolonnetype, således at der kun fandtes DATETIME (Da TIMESTAMP jo er det samme, den bliver bare opdateret automatisk). Lidt det samme med auto_increment. Den er jeg heller ikke vild med.
reimers: Sæt den til NULL istedet. unix epoch er antal sekunder siden 01-01-1970.. 0 sekunder derfra, er jo 01-01-1990 :-).
thomas: Jeg syntes den er overflødig som datatype, da indeholder det samme som DATETIME. Den kan jo ikke indholde mere eller mindre af den grund. Forskellen ligger I at mysql opdaterer den automatisk. Det har jo ikke som sådan noget med datatypen at gøre.
Jeg ville gerne skifte til Oracle, men har ikke resourcer til det. Så Postgres er nok mit valg.
dennismp> det er rigtig nok - men jeg mener nu, at timestamp sparer mig for en del tid dagligt, da jeg ikke skal tage højde for at lægge dato og tid ind i feltet ved alle mine sql-opdateringer. Så vidt jeg ved har Oracle og Postgre da også timestamp. Det samme har MSSQL og DB2.
-thomas->> Jeg har ikke noget imod ordet "timestamp". Det er funktionen der ligger bag. (men det tror jeg du har fanget).. Og så vidt jeg kan se, gør timestamp ikke det når det er Oracle eller Postgres. Der er timestamp hvad datetime er i mysql. Fælles for de to er jo også, at man kan lave en trigger der opdaterer et felt automatisk ved fx. opdatering - så de har ikke behov for det. Anyway, det var vist et sidespor :)
Ja, jeg har fået løsningen på problemet. Du har sikkert ret i, at din løsning ville virke, men det var jo tydeligt, at min brug af timestamp var fundamentalt forkert. Jeg har derfor valgt at benytte DateTime, som chries også anbefalede 13:58:08.
Tak for hjælpen alle sammen.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.