19. januar 2008 - 21:40Der er
17 kommentarer og 1 løsning
SQL fejl, men hvor
Conn.Execute("DELETE FROM profilbesog WHERE Id NOT IN(SELECT TOP 50 Id FROM profilbesog where brugerid = " & rs("id") & " ORDER BY Dato DESC) and brugerid = " & rs("id") & "")
Jeg får denne fejl:
[MySQL][ODBC 3.51 Driver][mysqld-5.0.19-nt-max]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 '50 * Id FROM profilbesog where brugerid = 513 ORDER BY Dato DESC) and brugerid =' at line 1
Hvad er fejlen mon?
Jeg skal ind og slette alle gamle, hvis der er over 50 poster
[MySQL][ODBC 3.51 Driver][mysqld-5.0.19-nt-max]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 '50 Id FROM profilbesog where brugerid = 513 ORDER BY Dato DESC) and brugerid = 5' at line 1
MySQL bruger ikke TOP. I stedet skal du bruge LIMIT.
Conn.Execute("DELETE FROM profilbesog WHERE Id NOT IN(SELECT Id FROM profilbesog where brugerid = " & rs("id") & " ORDER BY Dato DESC LIMIT 0, 50) and brugerid = " & rs("id") & " ")
Conn.Execute("DELETE FROM profilbesog WHERE Id NOT IN (SELECT Id FROM profilbesog WHERE brugerid = " & rs("id") & " ORDER BY Dato DESC LIMIT 50) AND brugerid = " & rs("id"))
Du må vel gøre det af to omgange - først udtrække de 50 poster og sætte dem sammen til en streng som du så kan sætte ind i IN-leddet og så delete dem der ikke er der i anden omgang.
nielle: nope, kan ikke få det til at virke, får en fejlkode på linien sql2 = "DELETE FROM profilbesog WHERE Id NOT IN (" & inLeddet & ") AND brugerid = " & rs("id")
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.