0

私は次のように簡単な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

mysql2Railsアプリでgemを使用しています。これを修正するために私ができることはありますか?

4

1 に答える 1

2

「列」がその特定のバージョンのMySQLで予約語である可能性はありますか? http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

列名として予約語を使用しているため、MySQLがエラーを出している可能性があります。

于 2012-08-08T17:23:40.137 に答える