SQLで元情報テーブルから目的のテーブルへ INSERT
INSERT INTO dest ( column, ... ) SELECT column, ... FROM source;
sourceテーブル から destテーブルへ column, ... カラムをコピーする。
ユニークキーが被らないようにする場合や、 一度INSERTした情報を再びINSERTしないようにるガード
INSERT INTO dest (
uniq_key, column, ...
) SELECT uniq_key, column, ... FROM source
WHERE NOT EXISTS (
SELECT uniq_key FROM dest WHERE dest.uniq_key = source.dest_key
);
上記の例では dest に source と 同じ uniq_key が存在すると、その行を NOT EXISTS
で source から除外するようにしています。