我有以下的named_scope在MySQL和sqlite中运行良好但在Postgres中使用炸弹:
course.rb
named_scope :current, :conditions => ['start < ? AND end > ? ', Time.now, Time.now], :order => 'start ASC'
然后我打电话给:
Course.current
我收到错误:
PGError:错误:或者语法错误 靠近“终点”LINE 1:... WHERE(start&lt; '2010-03-17 14:03:24.995746'和结束&gt; “201 ... ^:SELECT count(*)AS count_all FROM “课程”WHERE(开始&lt; '2010-03-17 14:03:24.995746'和结束&gt; '2010-03-17 14:03:24.995748')
我的google-fu失败了,所以我希望Stack Overflow不会。关于如何使Postgres友好的范围的任何想法?谢谢,
德鲁
答案 0 :(得分:1)
END是关键字,您必须使用其他名称或将其放在双引号“end”之间。
如果在列名周围使用双引号并将此代码也用于MySQL,请通过设置正确的SQL模式告诉MySQL接受双引号作为对象标识符:ANSI_QUOTES