Mysql
 sql >> Database >  >> RDS >> Mysql

Come inserire più righe in base a una query?

Quello che stai cercando sono ar-extensions

Installa la gemma usando

sudo gem install ar-extensions

Includi la gemma nel tuo ambiente.rb (o direttamente nel modello con cui vuoi fare gli inserti)

require 'ar-extensions'

E inserisci più record in un unico INSERT interrogare utilizzando

fields = [:first_name, :last_name, :email]
data = [["glenn", "gillen", "[email protected]"],
       ["john", "jones", "[email protected]"],
       ["steve", "smith", "[email protected]"]]

User.import fields, data

Puoi farlo anche usando gli oggetti ActiveRecord.

data = [ 
         User.new(:first_name => 'glenn', :last_name => 'gillen', :email => '[email protected]'),
         User.new(:first_name => 'john', :last_name => 'jones', :email => '[email protected]'),
         User.new(:first_name => 'steve', :last_name => 'smith', :email => '[email protected]')
       ]

User.import fields, data

Sono state inserite 3 nuove righe nella tabella degli utenti, con la sola interrogazione singola!

Maggiori informazioni qui , qui e qui .