2017-03-12 18 views
0

あるデータベースにあるデータを、同じデータベースにある別のデータベースにコピーしようとしています。しかし、私はすべてが入力されるたびに、それはクエリを実行し、0行が更新されたと言います。SQLのあるテーブルから別のテーブルに行をコピーするにはどうすればよいですか?

これを動作させるためにいくつかのバリエーションを試しました。そのような試みの1つは以下のとおりです。これを行うために調査中にこれを見つけました。

UPDATE 
    t1 
SET 
    t1.column = t2.column 
FROM 
    Table1 t1 
    INNER JOIN Table2 t2 
    ON t1.id = t2.id; 

これについての助けがあれば幸いです。

答えて

0

UPDATEは、すでに存在するレコードのみを変更します。別のテーブルに存在する行を挿入する場合は、INSERTを使用します。

INSERTSELECTを組み合わせて、table1全体をtable2にコピーできます。

INSERT INTO table2 SELECT * FROM table1; 

あなたはまだ存在しないレコードのみをコピーするINSERT IGNOREを使用することができます(一意キーに基づきます)。

また、テーブルが異なる場合にコピーするフィールドを指定することができます。

INSERT INTO table2 (id, first_name, last_name) SELECT id, name, surname FROM table1; 
関連する問題