Mysql
 sql >> Datenbank >  >> RDS >> Mysql

INSERT mehrere Datensätze mit aktivem Ruby-on-Rails-Datensatz

Die create Methode nimmt auch ein Array als Parameter.

VoteRecord.create(
  [
    { :prospect_id => prospect.id, :state => "OH", :election_type => "GE", :election => "2011-11-08", :party => row[82], :participate => participated(row[82]) },
    { :prospect_id => prospect.id, :state => "OH", :election_type => "PR", :election => "2011-09-13", :party => row[81], :participate => participated(row[81]) }
    ...
  ]
)

Dies führt jedoch immer noch eine SQL-Abfrage pro Eintrag anstelle einer einzelnen SQL-Abfrage aus. Es ist effizienter, weil es nur ein einziges ActiveRecord-Objekt unter der Haube erstellen muss.

Von der mysql-Seite (aber ich denke, es sollte für andere dbs genauso sein)