Avatar billede tipsen Nybegynder
27. marts 2002 - 22:20 Der er 6 kommentarer og
1 løsning

Opdatering af tabel med timestamp felt!

Hej eksperter

Jeg har en tabel med blandt andet 2 timestamp felttyper - ts1 og ts2. Når jeg opretter en post, skal ts1 have dagsdato, hvilket klares ved slet ikke at indsætte noget i det felt (NULL). Derimod ønsker jeg at give ts2 en dato i fremtiden som værdi, hvilket heller ikke er noget problem.

Senere kan hele posten risikere at blive opdateret - hvis det sker, skal ts2 have dags dato som værdi, mens ts1 skal være uændret!!

Hvordan opdaterer jeg posten og sørger for at ts1 forbliver uændret? (Andre metoder end den oplagte med først at select'e datoen og derefter indsætte den igen!)

-er det en problemstilling som egentlig fordrer at jeg i stedet benytter mig af datetime typen i stedet?
Avatar billede mjl Nybegynder
27. marts 2002 - 22:43 #1
Kan du ikke bare lave en UPDATE der kun opdaterer den ene??
Avatar billede tipsen Nybegynder
27. marts 2002 - 22:51 #2
Når felttypen er timestamp, vil den så ikke automatisk sætte dags dato ind?
Avatar billede mjl Nybegynder
27. marts 2002 - 23:06 #3
Åh jo - den vil den jo....sorry!!!
Avatar billede starfish Nybegynder
28. marts 2002 - 18:44 #4
The TIMESTAMP column type provides a type that you can use to automatically mark INSERT or UPDATE operations with the current date and time. If you have multiple TIMESTAMP columns, only the first one is updated automatically.

Automatic updating of the first TIMESTAMP column occurs under any of the following conditions:

The column is not specified explicitly in an INSERT or LOAD DATA INFILE statement.
The column is not specified explicitly in an UPDATE statement and some other column changes value. (Note that an UPDATE that sets a column to the value it already has will not cause the TIMESTAMP column to be updated, because if you set a column to its current value, MySQL ignores the update for efficiency.)
You explicitly set the TIMESTAMP column to NULL.

http://www.mysql.com/doc/D/A/DATETIME.html

Kan det ikek bruges til noget=
Avatar billede starfish Nybegynder
28. marts 2002 - 18:46 #5
Du må nok bytte rundt på dine to timestamps, men det lader til det kan løse dit problem?
Avatar billede starfish Nybegynder
28. marts 2002 - 18:47 #6
Du har sådant set selv en god ide til løsningen :-)

"On the other hand, you may find it just as easy to use a DATETIME column that you initialise to NOW() when the row is created and leave alone for subsequent updates. "
Avatar billede tipsen Nybegynder
28. marts 2002 - 19:11 #7
Jeg har tænkt lidt mere over problemet - specielt, hvad mit formål med datofelterne egentlig var - og jeg nøjes med at lave et timestamp felt og resten vil så være datetime felter.

Tak for hjælpen og forslagene!
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester