2

選択からテーブルにデータを挿入したい。これは今のところうまく機能しています...

INSERT INTO table_2
    SELECT t.id, 1
        FROM table_1 t
        WHERE t.title LIKE '%search%';

しかし、これを 2 回目に実行すると、一部の行が既に存在するため、ステートメントで例外が発生します。

これを回避するにはどうすればよいですか?

助けてくれてありがとう、ウルクマン

4

1 に答える 1

5

それを句として追加することにより、行がまだ存在しない場所に行を挿入できます。

insert into table_2
select t.id, 1
  from table_1 t
 where t.title like '%search%'
   and not exists (select t2.id from table_2 t2 where t2.id = t.id);
于 2013-05-21T13:58:42.220 に答える