sql >> データベース >  >> RDS >> Mysql

RubyonRailsのアクティブレコードを使用して複数のレコードを挿入する

    create メソッドは、パラメータとして配列も取ります。

    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]) }
        ...
      ]
    )
    

    ただし、これでも、単一のSQLクエリではなく、エントリごとに1つのSQLクエリが実行されます。内部で単一のactiverecordオブジェクトを作成するだけでよいため、より効率的です。

    mysqlページから (ただし、他のデータベースでも同じである必要があると思います)



    1. dbms_schedulerを使用して30分ごとにジョブを実行する方法

    2. MySQL:FROM句の制限でサブクエリを使用して表示

    3. ORA-00054:リソースがビジーで、NOWAITが指定されているか、タイムアウトが期限切れになっています。

    4. SQLiteで計算列を作成する方法