2013-02-15 87 views
0

伙计们,ActiveRecord的查询工作正常的源码,但在MySQL失败

我有一个使用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) 

感谢您的反馈

回答

0

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

尝试

"room_name = 'jail' AND account_state IS NULL" 

Reference

+0

谢谢,你是绝对正确的! – user1781472 2013-02-15 21:01:21

0

这里是你的问题:

room_name == 'jail' 

MySQL只需要一个单一的=。