【问题标题】:How to fix SQLite3::SQLException: near "to": syntax error: SELECT "".* FROM "" WHERE ""."" = ? AND (to < '[Time.now]') LIMIT ? OFFSET?如何修复 SQLite3::SQLException:靠近“to”:语法错误:SELECT "".* FROM "" WHERE ""."" = ? AND (to < '[Time.now]') 限制 ?抵消?
【发布时间】:2019-12-23 05:03:19
【问题描述】:

我正在开发一个 Rails 应用程序并使用 SQLite3 作为我的数据库服务器。我在查询 conferences 时遇到问题,其 to date_time 小于 Time.now。这是我的控制器中的确切声明:

@conferences = @conferences.where("to < ?", Time.now)

@conferences 在我的控制器中预先定义为

@conferences = @conferences.where("to < ?", Time.now)

我收到以下错误消息:

SQLite3::SQLException:靠近“to”:语法错误:SELECT "会议".* FROM "会议" WHERE "会议"."country_id" = ?和(到

我已经尝试设置并阅读更多关于 LIMITOFFSET 的信息,但这并没有奏效,可能是因为我对他们的工作没有很好的了解。

【问题讨论】:

标签: sql ruby-on-rails sqlite syntax-error


【解决方案1】:

改成

@conferences = @conferences.where("\"to\" < ?", Time.now)

to 是 SQL 中的保留关键字。如果您想将其用作列名,则必须使用双引号对其进行转义以将其标记为标识符。

【讨论】:

    猜你喜欢
    • 2017-12-08
    • 2014-09-24
    • 2021-03-15
    • 1970-01-01
    • 2019-11-29
    • 1970-01-01
    • 1970-01-01
    • 2021-12-26
    • 2021-05-11
    相关资源
    最近更新 更多