Вы можете удалить первые 8 строк, если размер таблицы превышает 8 строк , с помощью этого оператора:
delete from eventosUTN
where
(select count(*) from eventosUTN) > 8
and
id in (select id from eventosUTN limit 8)
, где id
- это primary key
вашего Таблица. Но вы должны знать, что то, что вы считаете первыми 8 строками в таблице, не всегда то, что вы получаете. Строки таблицы неупорядочены. Поэтому, возможно, вам следует определить логи c этого порядка с помощью предложения ORDER BY
, например:
delete from eventosUTN
where
(select count(*) from eventosUTN) > 8
and
id in (select id from eventosUTN order by id limit 8)
Так что вы можете сделать это в java коде, подобном следующему:
String where = "(select count(*) from eventosUTN) > 8 and id in (select id from eventosUTN order by id limit 8)";
db.delete("eventosUTN", where, null);
Если primary key
вашей таблицы равен integer
и определен как AUTOINCREMENT
, что означает, что она всегда увеличивается и никогда не используется повторно, вы также можете использовать этот оператор:
delete from eventosUTN
where id < (select id from eventosUTN order by id limit 8, 1)
и в java код:
String where = "id < (select id from eventosUTN order by id limit 8, 1)";
db.delete("eventosUTN", where, null);