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

クエリに基づいて複数の行を挿入するにはどうすればよいですか?

    探しているのはar-extensions

    を使用してgemをインストールします
    sudo gem install ar-extensions
    

    宝石をenvironment.rbに含めます(または、挿入を行うモデルに直接含めます)

    require 'ar-extensions'
    

    そして、1つのINSERTに複数のレコードを挿入します

    を使用したクエリ
    fields = [:first_name, :last_name, :email]
    data = [["glenn", "gillen", "[email protected]"],
           ["john", "jones", "[email protected]"],
           ["steve", "smith", "[email protected]"]]
    
    User.import fields, data
    

    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
    

    単一のクエリ!だけで、3つの新しい行がusersテーブルに挿入されました。

    詳細については、こちら をご覧ください。 、こちら およびこちら 。



    1. SQLクエリを使用する関数には、結果データの宛先がありません

    2. 主キーを変更する

    3. MySQL:テーブルのすべての制約を確認するにはどうすればよいですか?

    4. WebアプリでReportingServices2005によって呼び出されたときに、2番目のT-SQLクエリが最初のクエリよりもはるかに高速に実行されるのはなぜですか