0

1つのクエリに定数値を持つ複数の行を挿入する方法を知っています。

INSERT INTO table
VALUES
  (1, 'a', 'x'),
  (2, 'b', 'y'),
  (3, 'c', 'z');

しかし、これを条件付きで行うにはどうすればよいですか?存在しない*行のみが挿入されるようにしたい。単一のクエリでそれを行うことさえ可能ですか?

*行は、そのすべての列が挿入する列と同一である場合に存在します

4

1 に答える 1

2

INSERT IGNORE INTOの代わりに使用しINSERT INTOます。前者は、一意のキー制約に違反していない場合にのみ行を挿入します。

INSERT IGNORE INTO table
VALUES
  (1, 'a', 'x'),
  (2, 'b', 'y'),
  (3, 'c', 'z');
于 2012-04-13T23:25:05.437 に答える