如何用Ruby循环往postgres中插入数据??

我从.xlsx文件中读取到数据data通过

data.each(id: 'id', name: 'name')do |hash|
  puts hash.inspect
end

可以得到

{:id=>1.0, :name=>"wang"}
{:id=>2.0, :name=>"xiao"}
{:id=>3.0, :name=>"fan"}

我想通过data.each方法将读出来的数据插入到postgresql的表中,
但是不知道该怎么写循环的SQL语句

conn.exec("INSERT INTO test1 VALUES ( 1, 'wang' );")

就是说不知道VALUES()中怎么用变量表示,看了很多地方都没解决。。。求救。。谢谢大家

阅读 3.6k
1 个回答

这样应该就可以了吧

rubydata.each(id: 'id', name: 'name')do |each_data|
  conn.exec("INSERT INTO test1 VALUES ( #{each_data[:id]}, #{each_data[:name]} );")
end
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进