0
我是一个总新手。我有一个名为OUTPUTS的表,其中所有列的类型都是整数。我试图插入行输出具有以下Ruby脚本:麻烦插入sqlite3数据库与红宝石库的行
require 'rubygems'
require 'sqlite3'
...
db=SQLite3::Database.new("development.sqlite3")
db.execute("INSERT into OUTPUTS (user_id,eac,pac,vac,iac,epv,ppv,vpv) VALUES (10,@eac,@pac,@vac,@iac,@epv,@ppv,@vpv);")
在运行此脚本,我得到一个新的行和user_id列中有一个10如预期,但对其余即使我证实所有变量(@eac,@pac等)确实包含值,列也是空的。我的语法有什么问题?
想通了。仍然不完全确定为什么上述方法不起作用,但是这样做: – pitachip 2011-05-26 17:23:54
st = db.prepare(“INSERT into OUTPUTS(user_id,eac,pac,vac,iac,epv,ppv,vpv)VALUES(?,?,? (10,@ eac,@ pac,@ vac,@ iac,@ epv,@ ppv,@ vpv) – pitachip 2011-05-26 17:25:22
请参阅下文,但基本上可以'把变量放到一个字符串中并让它们渲染而不用将它们包装在#{}中 - 但是你的解决方案无论如何都是更好的,因为绑定几乎总是要走的。 – muffinista 2011-05-27 13:13:40