Rails 查询布尔 MySQL 错误

标签: MySQL
发布时间: 2015/6/11 7:05:59
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

做这些的任何一个:

notifications.where("read = 'true'")
notifications.where("read = '1'")
notifications.where("read = true")
notifications.where("read = 1")

在错误的结果:

Mysql2::Error: 你有一个错误在 SQL 语法;检查对应于您为要使用附近的正确语法的 MySQL 服务器版本的手册 ' 读 = true)

然而,这只是正常工作:

notifications.where(:read => true)

这可能是为什么你知道吗?

解决方法 1:

到的是 mysql 保留的关键字,您需要使用反撇号周围你列名称

notifications.where(" `read` = true")

不熟悉 ruby,但你可以参考这个答案要附上具有背蜱的列

Mysql 的保留字

赞助商