Jeg har en stor tabel hvor feltet <oprettet> er af typen datetime (og indholdet kunne så fx være 2006-02-17 11:38:36 eller i en anden tabel kun 2006-02-17).
Jeg har nu fundet ud af, at jeg vil konvertere det til en timestamp fordi det sparer mig for en masse bøvl. Men hvordan konverterer jeg det?
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Nøh, men så må man jo være lidt fantasifuld :) Enten udhenter du det og kører en UPDATE eller også kan du måske bikse en update sammen, der kan klare det i ét hug.
(Og beklager jeg pastede lidt PHP, havde ikke lige set det var en anden kategori :S)
ALTER TABLE tabelnavn ADD COLUMN tstamp INT; UPDATE tabelnavn SET tstamp = UNIX_TIMESTAMP(oprettet); ALTER TABLE tabelnavn DROP COLUMN oprettet, CHANGE tstamp oprettet INT NOT NULL;
ALTER TABLE tabelnavn ADD COLUMN tstamp INT; UPDATE tabelnavn SET tstamp = UNIX_TIMESTAMP(oprettet); ALTER TABLE tabelnavn DROP COLUMN oprettet, CHANGE tstamp oprettet INT NOT NULL;
måske virker det faktisk men det er så et UNIX_TIMESTAMP men det, jeg gerne vil ha' er, at feltet fremover ikke får sin værdi fra et script, men direkte fra NOW() og jf. http://www.eksperten.dk/spm/733818 så er måden at gøre det på, at definere feltet som timestamp m. standardværdien now(). Så jeg skal have konverteret alle rækker til det, der svarer til mySQL timestamp + now()
Synes godt om
Slettet bruger
28. september 2006 - 16:25#14
og det synes jeg ikke svarer til det, som UNIX_TIMESTAMP returnerer, men måske er jeg galt på den?
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.