我正在编写一些rake taks来使用简单的find方法查找对象,如下所示:
skill = Mastery.find(:first, :conditions => [ "tree = ? AND tier = ? AND column = ?",
i.to_s,
row_index.to_s,
col_index.to_s
])
这在本地工作正常。但是,当我部署到生产环境时,服务器失败并响应此错误:
Mysql2::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 'column = '1') LIMIT 1' at line 1: SELECT `masteries`.* FROM `masteries` WHERE (tree = '1' AND tier = '1' AND column = '1') LIMIT 1
我在我的rails应用中使用mysql2
gem。知道我能做些什么来解决这个问题吗?
答案 0 :(得分:2)
对于特定版本的MySQL,“列”是否可能是保留字? http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html
可能是MySQL因为您使用保留字作为列名而发出错误的情况。