Avatar billede kane Juniormester
15. januar 2004 - 09:38 Der er 14 kommentarer og
2 løsninger

læg 30 dage til en dato

Hej
jeg har ca 700 forskellige dato'er som jeg gerne vil lægge 30 dage til, så alle får 30 dage mere.
Kan man gøre det direkte i en mysql ?
Avatar billede trer Nybegynder
15. januar 2004 - 09:42 #1
har du prøvet at sige


select datecolumn+30 from mytable

?

Hvis det fungerer som forventet, så

update mytable set datecolumn=datecolumn+40
where ...
Avatar billede Slettet bruger
15. januar 2004 - 09:44 #2
alternativt kan du have en variabel i dit værtssprog med værdien "i dag+30" og så køre
UPDATE tabel SET dato = '$variablen' WHERE...
Avatar billede erikjacobsen Ekspert
15. januar 2004 - 09:49 #3
Prøv dette

select dato, adddate(dato, interval 30 day) from xxx
Avatar billede erikjacobsen Ekspert
15. januar 2004 - 09:50 #4
Brug den select til teste om det virker som det skal. Så kan du lave en

  update xxx set dato=adddate(dato, interval 30 day)
Avatar billede kane Juniormester
15. januar 2004 - 19:46 #5
min tabel hedder status og rækken hedder expire.

select 'status', adddate(dato, interval 30 day) from 'expire'

Den fejler #1064 - You have an error in your SQL syntax.
Avatar billede erikjacobsen Ekspert
15. januar 2004 - 21:07 #6
select status, adddate(dato, interval 30 day) from expire
Avatar billede kane Juniormester
15. januar 2004 - 21:12 #7
select status, adddate(date, interval 30 day) from 'expire'
select status, adddate(date, interval 30 day) from expire

select status, adddate(dato, interval 30 day) from 'expire'
select status, adddate(dato, interval 30 day) from expire

MySQL returnerede:


#1064 - You have an error in your SQL syntax
Avatar billede erikjacobsen Ekspert
15. januar 2004 - 22:34 #8
Mnjah, så er status vist et reserveret ord. Så:

select `status`, adddate(dato, interval 30 day) from expire
Avatar billede kane Juniormester
16. januar 2004 - 15:33 #9
den siger det samme
Avatar billede erikjacobsen Ekspert
16. januar 2004 - 18:16 #10
kan du vise din kode her?
Avatar billede kane Juniormester
18. januar 2004 - 00:38 #11
select `status`, adddate(dato, interval 30 day) from 'expire'

Det er den linie som du har skreve, med og uden ' rund om expire'

det skriver jeg i det felt under alle mine rækker i phpmyadmin /mysql
Avatar billede kane Juniormester
18. januar 2004 - 00:38 #12
rundt
Avatar billede erikjacobsen Ekspert
18. januar 2004 - 00:43 #13
Du skal ikke bruge '....'  - men

select `status`, adddate(dato, interval 30 day) from expire

virker hos mig, selv om det er en ringe trøst...
Avatar billede kane Juniormester
18. januar 2004 - 15:15 #14
#1146 - Table 'kunder.expire' doesn't exist

hvis jeg laver den uden ' rundt om expire'
Avatar billede b4r0n3n Nybegynder
20. januar 2004 - 09:55 #15
øøh har du evt. prøvet:

select `expire`, adddate(dato, interval 30 day) from `status`
Avatar billede kane Juniormester
20. januar 2004 - 23:14 #16
update status_ny set expire=adddate(expire, interval 30 day);

Sådan der skulle den se ud.
erik smid et svar, så får du også nogle point
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