我想执行我的INSERT
具有以下数组的 Ruby 文件中的字符串:
names_arr = ["Jack", "Susan", "Peter"]
在同一个 Ruby 文件中,我需要 SQLite3 gem 并拥有以下代码:
names_arr.each do |each_name|
db.execute('INSERT INTO users (name) VALUES ("#{each_name}");')
end
我在我的“用户”表中期待这个:
id name
1 Jack
2 Susan
3 Peter
相反,我得到了这个:
id name
1 #{each_name}
2 #{each_name}
3 #{each_name}
很明显我没有正确插值,但我尝试了很多不同的东西,无法弄清楚我错在哪里。
我正在使用 SQLite3 和 Ruby。
最佳答案
这段代码有几个问题:
names_arr.each do |each_name|
db.execute('INSERT INTO users (name) VALUES ("#{each_name}");')
end
%Q{...}
字符串、正则表达式文字等)。 SQLite 驱动程序的
execute
了解?
占位符,所以你可以这样说:names_arr.each do |each_name|
db.execute('INSERT INTO users (name) VALUES (?)', each_name)
end
关于ruby - 如何将 Ruby 数组项插入 SQLite?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19214033/