2015-11-23 63 views
0

紅寶石非常新,所以任何幫助表示讚賞。我試圖使用不同的gem(Sequel)將數據插入到mysql數據庫中。值得注意的是,這些數據中的一部分包含mysql特殊字符,這就是爲什麼我試圖使用另一個mysql驅動程序續集作爲有人推薦給我的。紅寶石:續集寶石插入到Mysql

這裏的錯誤,當我使用本地MySQL的寶石:

[[email protected] nessus-report-database]# ./testme.rb 949293931.nessus 
949293931.nessus 
1064 
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 'backported' to the remote SSH server without changing its version number. 

Bann' at line 47 

我的主要問題是我不知道我的理解對續集的寶石這給下面的示例文件:

DB[:items].insert([1,2,3]) 
# INSERT INTO items VALUES (1, 2, 3) 

丟掉我的部分是DB[:items]。什麼是[:項目]部分?這是一個變量,我將設置值我的列我想更新?也有人知道如果這個例子會逃避特殊字符的MySQL?

這種寶石

文檔是在這裏: http://sequel.jeremyevans.net/rdoc/classes/Sequel/Dataset.html#method-i-insert

回答

1

:items是表名。這只是Sequel的語法,用於指示要插入哪個表。

+1

更具體地說,':items'是一個符號,就像一個內部化的字符串常量,它是Ruby中常用的工具。它們有點像singleton字符串,因爲在所有':x'實例中是完全相同的對象,但並不是所有包含'「x」'的字符串都是相同的。等同。 – tadman