我有一个表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":语法错误...
查询返回错误.
首先,它总是有助于发布尽可能多的信息.在这个特定的例子中,"错误"是无益的,它可能需要2秒才能复制并粘贴给出的实际错误消息,这将在帮助您时为我们提供有价值的线索.
相反,我去了这里找到的SQLite的DELETE语句的文档,并注意到并且看到DELETE没有ORDER BY,除非它是以特定的方式编译的.我假设你的版本不是,虽然没有错误信息很难说.
您可以尝试的是:
delete from MRU where DT_ADD = ( SELECT MIN(DT_ADD) FROM MRU WHERE type = 'FILENAME' )