我有一个表MRU,有3列。
(VALUE varchar(255); TYPE varchar(20); DT_ADD datetime)
该表仅存储一个条目并记录其记录的日期时间。我想做的是:每当我添加超过一定数量的新条目时,删除最旧的条目。
这是我的查询:
delete from MRU
where type = 'FILENAME'
ORDER BY DT_ADD limit 1;
错误消息是:
SQL错误:“ ORDER”附近:语法错误...
查询返回错误。
最佳答案
我并不是说您应该这样做,因为它是完全不可携带的,但是如果有迫切的需求,这会起作用:
在SQLite中,除非在其他地方定义了整数主键,否则rowid列始终存在。这可以用于类似:
delete from MRU where rowid = (
select rowid from MRU order by DT_ADD limit 1
)