sql - 更新 Where、Order by 和 Limit 不起作用

标签 sql sqlite sql-update

我正在使用 SQLite 3。

当我输入以下查询时

UPDATE MyTable Set Flag = 1 WHERE ID = 5 Order By OrderID DESC LIMIT 1;

我总是会得到一个错误:

near Order By, syntax error

我无法弄清楚我的查询有什么问题

最佳答案

要在 UPDATE 或 DELETE 语句中使用 LIMIT 和 ORDER BY,您必须做两件事:

  • 从源代码构建 sqlite3.c 合并的自定义版本,使用 --enable-update-limit 选项对其进行配置。
  • 使用 SQLITE_ENABLE_UPDATE_DELETE_LIMIT 将自定义 sqlite3.c 编译到您的项目中定义为 1。

关于sql - 更新 Where、Order by 和 Limit 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52512758/

相关文章:

python - 是否有标准方法可以在 python 应用程序之外存储数据库模式

MySQL:从子查询结果更新表列

mysql - 如何通过select mysql更新

mysql - 基于数据分组的特定mysql更新

mysql - 计算一对多关系中存在多少

java - 高分表

mysql - SQL 将列从一个表复制到另一个表中 - 唯一

android - 在 CursorAdapter 中使用 String 作为 _id

SQL 服务器 : Nesting Elements with FOR XML PATH

sql - 如何在不显示查询结果的情况下测量查询持续时间?