我有一个在MySQL而不是在Postgres的PGError:ERROR:达到或接近语法错误E'String”
:conditions => ["A between ? and ? and B between ? and ? and C between ? and ? and ddd is ?",@amin,@amax,@bmin,@bmax,@cmin,@cmax,params[:input].to_s]
工作的Ruby on Rails的条件生成错误:
ActiveRecord::StatementInvalid (PGError: ERROR: syntax error at or near "E'word'"
LINE 1: ...c between -100 and 100 and ddd is E'word')
我知道它没有最后的比较工作。例如。
:conditions => ["A between ? and ? and B between ? and ? and C between ? and ?",@amin,@amax,@bmin,@bmax,@cmin,@cmax]
ddd是类型:字符串,而a,b和c都是:小数。
在对Postgresql做了一些研究之后,似乎E'字符串被转义字符串 - 这并不能帮助我,因为我似乎无法纠正它。我不经常使用Postgresql,所以如果事情很明显,我会提前道歉。
我正在使用heroku进行托管,因此我无法更改任何Postgresql设置。无论如何,我宁愿真正理解问题所在以及如何解决问题。
干杯, 斯图
就是这样 - 谈论感觉就像一个白痴 - 欢呼声。 – Stu 2010-12-01 18:25:07