我正在尝试查询我的数据库并返回特定日期范围内的条目。作为一个可能的简单示例,请考虑以下内容:
@foos = FooTracking.where('when > ?', DateTime.new(2008, 12, 22, 14, 30))
导致错误和转储:
ActiveRecord::StatementInvalid: Mysql::Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'when >= '2008-12-22 14:30:00')' at line 1: SELECT `foo_tracking`.* FROM `foo_tracking` WHERE (when >= '2008-12-22 14:30:00')
where调用在我的表的其他列上运行(没有与日期有关),我在这里缺少什么?
答案 0 :(得分:5)
WHEN
是SQL保留字。如果你总是在这样的反引号中提到它,你仍然可以将它用作列名:`when`
。