ActiveRecord查询在sqlite上工作正常但在mysql中失败

时间:2013-02-15 20:12:15

标签: mysql ruby-on-rails sqlite rails-activerecord

民间,

我有一个activerecord语句在我使用sqlite3的开发机器上工作正常但是当我在使用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)

感谢您的反馈

2 个答案:

答案 0 :(得分:0)

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

"room_name = 'jail' AND account_state IS NULL"

Reference

答案 1 :(得分:0)

这是你的问题:

room_name == 'jail'

MySQL只需要一个=。