我正在尝试使用HTML5数据库,发现DELETE无法使用LIMIT。
尝试使用Chrome:
> select * from my_table limit 1
item name
--------------
1 Hi
> delete from my_table limit 1
near "limit": syntax error
这次删除有什么问题吗?
感谢。
答案 0 :(得分:2)
我不相信delete
支持limit
(或者,至少它不是我所知道的任何SQL方言)。相反,您要么想要通过
delete from my_table;
或者更具体地说明要删除的行:
delete from my_table where item=1;
编辑添加: 通常,数据库不会关心行的顺序,除非您告诉它(通过{{1} }语句或某些RDBMS中存在的order by
函数。因此,一般情况下,如果多次调用row_number()
,则无法保证每次都获得相同的行。换句话说,除非您真的只想从表中获取特定数量的行,并且不关心您获得哪些行,否则select * from my_table limit 1;
语句很少有用,而不会对查询提取的行强加某些顺序。
答案 1 :(得分:2)
对于允许SELECT但不是DELETE的SQL方言,请尝试DELETE FROM my_table WHERE item IN (SELECT item FROM my_table LIMIT 1)