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?
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.