• ベストアンサー

重複レコードを処理しない

お疲れ様です。 いつもお世話になっております。 insert into table_a (a,b) select a,b from table_b; table_aにはプライマリ、ユニークともに指定無し。 この構文があったとき、table_aには何件かtable_bのデータが既に入っており、データが被ったときは、無視したいのです。 プライマリなどが指定されている場合、ignoreが使えますが、 槽ではないときに効率の良い解決方法はないでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • os6v100i
  • ベストアンサー率44% (16/36)
回答No.1

insert into table_a (a,b) select distinct a,b from table_b where not exists (select * from table_a where table_b.a = table_a.a and table_b.b = table_a.b); じゃだめですか?

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

っていうか、その運用方法ならユニークを指定してignore into するのがまっとうなやり方に見受けられますが・・・

関連するQ&A