2010-07-10 23 views
0

任何想法在這裏我的查詢被破壞了什麼?使用MySQL模塊與Ruby破壞查詢?

irb(main):010:0> dbh.query('SELECT foo FROM bar') 
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 '"' at line 1 
    from (irb):10:in `query' 
    from (irb):10 
    from /usr/bin/irb1.9:12:in `<main>' 

bar肯定存在一樣列foo

也胸徑是一個合法的對象:

irb(main):012:0> dbh 
=> #<Mysql:0x91149c4> 

irb(main):011:0> dbh.methods.grep(/query/) 
=> [:query, :real_query, :query_with_result, :query_with_result=] 

回答

0

粘貼實際的查詢結果,也許表名或字段名是MySQL中的保留關鍵字。

使用try分隔符:

dbh.query('SELECT `foo` FROM `bar`') 
+0

查詢是正確的。我可以100%確定。沒有保留關鍵字被使用。如果發現異常,則錯誤消息如下所示: 錯誤代碼:1064 錯誤消息:您的SQL語法有錯誤;檢查與您的MySQL服務器版本相對應的手冊,以獲得在第1行附近使用的正確語法 錯誤SQLSTATE:42000 – randombits 2010-07-10 18:00:35