27. februar 2004 - 15:58
Der er
16 kommentarer og 1 løsning
Delete from tabel
Jeg skal kunne slette bruger fra systemet, som ikke har godkendt deres profil efter 48 timer, har forsøgt med det her: Conn.execute = "DELETE FROM members where dato = '" & doMysqlDateTime() & "' -48 AND godkendt = '0' " Jeg er næsten klar over at -48 ikke kan stå alene, men hvordan så?
Annonceindlæg fra Deloitte
27. februar 2004 - 16:13
#1
prøv: Conn.execute = "DELETE FROM members where dato = '" & DateAdd( "d", doMysqlDateTime(),-48) & "' AND godkendt = '0' "
27. februar 2004 - 16:13
#2
Er de mySQL?
Den trækker nok 48 dage fra.
Men du kan bruge DATE_ADD eller DATE_SUB samt rette = til <= eller skal de være præsis 48 timer gamle
Conn.execute = "DELETE FROM members where dato <= DATE_SUB('" & doMysqlDateTime() & "', INTERVAL HOUR 48) AND godkendt = '0' "
http://www.mysql.com/doc/en/Date_and_time_functions.html
27. februar 2004 - 16:14
#3
men denne her skulle virke bare skervet lidt om
27. februar 2004 - 16:15
#4
arhh.. crap send knap: Conn.execute = "DELETE FROM members where DATE_ADD(dato, INTERVAL HOUR 48) <= Now() AND godkendt = '0' "
27. februar 2004 - 16:26
#5
Uanset hvad jeg prøver for jeg ( syntax error i sql-sætningen ) Skal funktionen dato ikke ændres noget for at det virker? Function doMysqlDateTime () dtDateTime = Now() dtDateTime = DatePart("YYYY", dtDateTime) & "-" & DatePart("M", dtDateTime) & "-" & DatePart("D", dtDateTime) & " " & DatePart("H", dtDateTime) & ":" & DatePart("N", dtDateTime) & ":" & DatePart("S", dtDateTime) doMysqlDateTime = dtDateTime End Function
27. februar 2004 - 16:28
#6
Hvilken type er dato kolonnen?
27. februar 2004 - 16:33
#7
Dato kolonnen er typen "date"
27. februar 2004 - 16:34
#8
Denne fejl meddelses: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '48) AND godkendt = '0'' at line 1
27. februar 2004 - 16:36
#9
arh ... min fejl prøv lige bytte rundt på 48 ig HOUR: Så enten denne: Conn.execute = "DELETE FROM members where dato <= DATE_SUB('" & doMysqlDateTime() & "', INTERVAL 48 HOUR) AND godkendt = '0' " Eller denne: Conn.execute = "DELETE FROM members where DATE_ADD(dato, INTERVAL 48 HOUR) <= Now() AND godkendt = '0' "
27. februar 2004 - 16:42
#10
Fint, det virker nu Men hvad er forskellen på de sidste 2 forslag?
27. februar 2004 - 16:44
#11
Den føste bruge din funktion som returnere datoen. Den sidste bruge de inbyggede dato funktion, now(), til at give dags dato.
27. februar 2004 - 16:46
#12
Hm, hvad er bedst, er en at foretrække?
27. februar 2004 - 16:46
#13
Og den føste bruger DATE_SUB til at regne skille datoen ud. Den anden bruger DATE_ADD og NOW() til at beskemme om der er gået 48 timer.
27. februar 2004 - 16:47
#14
tja.. den du syntes bedst om. Jeg tror ikke der er nogen forskel i hastighed.
27. februar 2004 - 16:49
#15
okay, og de er måske begge lige præsic og driftsikker?
27. februar 2004 - 16:51
#16
Ja det ville jeg mene.
27. februar 2004 - 17:30
#17
OK FINT :-)
Kurser inden for grundlæggende programmering