【问题标题】:sqlite query hangs when adding ORDER BY添加 ORDER BY 时,sqlite 查询挂起
【发布时间】:2014-01-27 16:24:38
【问题描述】:

我正在从 sqlite 数据库中获取一些数据,我的查询工作正常,直到我添加 order by 子句

我的查询结构是这样的

SELECT * FROM TESTI WHERE TESTO LIKE '%test%' COLLATE NOCASE LIMIT 100 OFFSET 0

这运行良好,我在数据库的前 100 行中获得了包含单词 test 的所有记录,但是当我以这种方式添加 ORDER BY 子句时

SELECT * FROM TESTI WHERE TESTO LIKE '%test%' COLLATE NOCASE LIMIT 100 OFFSET 0 ORDER BY ID

系统无限期挂起(我必须强制关闭)

表 TESTI 有 35000 行我怎样才能在不挂起所有系统的情况下按 id 排序?

【问题讨论】:

    标签: sqlite sql-order-by


    【解决方案1】:

    您有一个 SQL 语法错误。 ORDER BY 应该在LIMITOFFSET 之前,像这样:

    SELECT * FROM TESTI WHERE TESTO LIKE '%test%' COLLATE NOCASE ORDER BY ID LIMIT 100 OFFSET 0
    

    为什么它挂起不是因为 SQL,而是你的程序运行它。它可能无法从语法错误中恢复。

    【讨论】:

      猜你喜欢
      • 2018-04-02
      • 1970-01-01
      • 1970-01-01
      • 2021-06-23
      • 1970-01-01
      • 1970-01-01
      • 2021-09-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多