我有這樣的代碼:插件組到PostgreSQL的地圖準備的語句
require 'pg'
a = ["bla","foo","bar","test","wow"]
begin
con = PG.connect :dbname => 'base', :user => 'thatsme'
a.map do |e|
con.prepare('statement1','INSERT INTO keywords (keyword, created_at, updated_at) VALUES ($1, $2, $3)')
con.exec_params('statement1', ["#{e}", '2017-01-01 07:29:33.096192', '2017-01-01 07:29:33.096192' ])
end
這將導致一個錯誤,這是
ERROR: syntax error at or near "statement1"
我不明白這一點。我錯過了一些東西...
好像你應該使用字符串插值雙引號: 'con.exec_params( '語句1',[ 「#{E}」 ,...' – Ilya
這也是真的,謝謝!但是這並不會導致錯誤消失。我仍然有'ERROR:語法錯誤在'statement1'或'near'附近'' – thiebo
''#{e}「'如果你想確定'e'是一個字符串,可以使用'e.to_s,儘管驅動程序經常會自動進行這種轉換。另外,不要碰撞低級驅動程序,而是嘗試和用一些抽象的東西,比如[Sequel](h TTP://sequel.jeremyevans.net)。 – tadman