2

INSERT IGNORE INTO を使用して、行がまだ存在しない場合にテーブルに行を追加しようとしています。
現在の声明は次のとおりです。

INSERT IGNORE INTO my_table (integer, date) VALUES (11111, CURDATE())

ただし、テーブルに自動インクリメント主キーがあるため (もちろん挿入の一部ではありません)、常に挿入が行われます。整数と日付が既にテーブルにある場合、別の行を挿入しないように主キーを無視する方法はありますか?

4

1 に答える 1

3

整数と日付、またはその 2 つの組み合わせに UNIQUE キーを配置します。必要に応じてどちらでも構いません。これINSERT IGNOREにより、UNIQUE インデックスに違反する値を挿入できなくなります。

たとえば、2 つの組み合わせを一意にしたい場合は、次のようにします。

alter table my_table add unique index(integer, date)
于 2012-08-09T22:59:20.203 に答える