当前位置:  开发笔记 > 数据库 > 正文

简单的DELETE语句不起作用

如何解决《简单的DELETE语句不起作用》经验,为你挑选了1个好方法。

我有一个表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":语法错误...

查询返回错误.



1> angry person..:

首先,它总是有助于发布尽可能多的信息.在这个特定的例子中,"错误"是无益的,它可能需要2秒才能复制并粘贴给出的实际错误消息,这将在帮助您时为我们提供有价值的线索.

相反,我去了这里找到的SQLite的DELETE语句的文档,并注意到并且看到DELETE没有ORDER BY,除非它是以特定的方式编译的.我假设你的版本不是,虽然没有错误信息很难说.

您可以尝试的是:

delete from MRU where DT_ADD = (
    SELECT MIN(DT_ADD) FROM MRU WHERE type = 'FILENAME'
)

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有