0

伙计们,

我有一个在使用 sqlite3 的开发机器上运行良好的 activerecord 语句,但是当我在使用 MySQL 的生产环境中运行相同的代码时,它会失败。代码如下:

avail = Account.count( :conditions => "room_name == 'jail' AND account_state IS NULL")

当我在生产中运行它时,我得到一个 MySQL 语法错误:

对于这个陈述,我也看到了同样的行为:

_acct = Account.where( "room_name == 'jail' AND account_state IS NULL").order("updated_at ASC").limit(1)

感谢您的任何反馈

4

2 回答 2

0

我相信 MySQL 使用单个等号,而 sqlite 理解 = 和 ==

尝试

"room_name = 'jail' AND account_state IS NULL"

参考

于 2013-02-15T20:26:14.547 回答
0

这是你的问题:

room_name == 'jail'

MySQL 只需要一个 =。

于 2013-02-15T20:26:32.590 回答