我正在尝试从 h2 数据库(版本 1.0.71)中删除记录,但出现查询语法错误。我执行的查询是:
DELETE FROM TABLE_NAME WHERE QUERY_FIELD LIKE '%somevalue%' LIMIT 1000;
Run Code Online (Sandbox Code Playgroud)
我收到的错误消息是(这对我来说不是很有帮助):
Syntax error in SQL statement DELETE FROM TABLE_NAME WHERE QUERY_FIELD LIKE '%somevalue%' LIMIT[*] 1000;
Run Code Online (Sandbox Code Playgroud)
该LIMIT部分似乎是问题所在,h2 1.0.71 不支持此功能吗?
当我执行类似的SELECT查询时:
SELECT * FROM TABLE_NAME WHERE QUERY_FIELD LIKE '%somevalue%' LIMIT 1000;
Run Code Online (Sandbox Code Playgroud)
它给了我预期的结果。LIKE和的组合LIMIT可能有问题吗?
SELECT您可以在子句中添加WHERE如下声明:
DELETE
FROM TABLE_NAME
WHERE QUERY_FIELD LIKE '%somevalue%'
AND id_field IN (SELECT id_field
FROM table_name
WHERE QUERY_FIELD LIKE '%somevalue%'
LIMIT 1000)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5978 次 |
| 最近记录: |