Hej, Om du har en kolumn ID där de senaste posterna har högst nummer kan du göra såhär: Hej, Märkligt att det inte finns stöd för det... Testa istället denna variant då (har inte testat själv...): Hmm, fick detta: Hmm, kanske inte ska vara mellanslag innan det höga talet (jag läser på http://dev.mysql.com/doc/refman/5.0/en/select.html):Radera allt efter 300 ID
Hur kör jag en SQL sats att radera allt förrutom de 300 sista i databasen, vi säger att tabellen heter forum.
Då vill jag radera allt förrutom 300 sista.
Tacksam för svarSv: Radera allt efter 300 ID
DELETE FROM forum WHERE ID NOT IN(SELECT ID FROM forum ORDER BY ID DESC LIMIT 300)
/JohanSv:Radera allt efter 300 ID
Körde med detta
<code>
Connect.Execute("DELETE FROM forum WHERE albumid = '" & Albumid & "' AND ID NOT IN(SELECT ID FROM forum ORDER BY ID DESC LIMIT 750)")
</code>
Men fick felmeddelandet:
Microsoft OLE DB Provider for ODBC Drivers error '80040e31'
[MySQL][ODBC 3.51 Driver][mysqld-6.0.5-alpha-community]This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
Jag har den senaste Mysql Servern, tror de är version 6.Sv: Radera allt efter 300 ID
<code>
Connect.Execute("DELETE FROM forum WHERE albumid = '" & Albumid & "' ORDER BY ID DESC LIMIT 750, 99999999999999999")
</code>
/JohanSv:Radera allt efter 300 ID
MySQL][ODBC 3.51 Driver][mysqld-6.0.5-alpha-community]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 ' 99999999999999999' at line 1 Sv: Radera allt efter 300 ID
<code>
Connect.Execute("DELETE FROM forum WHERE albumid = '" & Albumid & "' ORDER BY ID DESC LIMIT 750,99999999999999999")
</code>
/Johan