2012-10-05 98 views
5

En Sqlite, ¿puedo saber cómo eliminar los últimos 10 registros? He escrito la siguiente codificación pero parece que no funciona en absoluto.Cómo eliminar los últimos 10 registros en sqlite

delete from tb_news where newsid = (SELECT newsid from tb_news order by newsid asc limit 10) 

Respuesta

7

Puede utilizar

delete from tb_news where newsid IN 
(SELECT newsid from tb_news order by newsid desc limit 10) 
1

Cambie su declaración SQL a la siguiente.

delete from tb_news where newsid IN (SELECT newsid from tb_news order by newsid DESC limit 20) 

Nota al margen: sqllite puede no ser compatible con LIMIT en la consulta secundaria.

+0

Debe ser DESC en lugar de ASC. –

+0

@YaqubAhmad He corregido la respuesta, gracias por señalarlo. – Lipongo

0

¿Ha probado?

delete from tb_news where newsid IN (SELECT newsid from tb_news order by newsid asc limit 20) 

que no conoce su estructura de la tabla, pero tal vez, debería ser DESC en lugar de ASC. Me refiero a que DESC te dará las identificaciones más grandes (y por lo tanto, la última).

+0

Debe ser DESC en lugar de ASC. –

Cuestiones relacionadas