データをmysql2でテーブルに登録する方法を確認しました。
●サンプルコード
登録するデータは各テーブルカラム毎にitems配列に保存されています。
client.escape()でエスケープした値を登録します。
※client.escape()については以下の記事参照
Ruby mysql2でSQLインジェクション対策
require 'mysql2' client = Mysql2::Client.new( :host => "localhost", :database => "db_name", :username => "user_name" , :password => "xxxxxx" ) items.each do |item| ary_col = [] ary_dat = [] item.each{ |key,value| ary_col.push(key) tmp_dat = client.escape(value) tmp_dat = "'#{tmp_dat}'" ary_dat.push(tmp_dat) } cols = ary_col.join(",") datas = ary_dat.join(",") sql = "INSERT INTO s_tables (#{cols}) VALUES (#{datas})" client.query(sql) end関連記事の目次