Begreppen först och sist är inte relevant.
Du kan prata om de 30 poster som har högst värde i en kolumn men använd inte första och sista.
delete from t order by id desc limit 30,-1
6 svar · 262 visningar · startad av jboy_87
Hur gör man för att behålla dem 30 första posterna och radera resten?
Begreppen först och sist är inte relevant.
Du kan prata om de 30 poster som har högst värde i en kolumn men använd inte första och sista.
delete from t order by id desc limit 30,-1
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 '-1)' at line 1
Jag var nog lite snabb där. Det går inte att offset för limit i samband med delete.
Du får nog göra det i två steg så vitt jag kan se.
set rs = connect.execute("select id from t order by id desc limit 30,1")
if not rs.eof then connect.execute "delete from t where id < " & rs(0)
ska testa!
ska det se ut så här i PHP? :q
$sql = "SELECT Count(ID1) from t order by Datum DESC limit 30,1";
$result = mysql_query($sql);
$antal = mysql_result($result, 0);
if ($antal > 0) {
mysql_query("delete from t where ID1 < $antal");
}
löste det med att ta bort Count