ドキュメントによると:
[columns
a
andb
are]が一意の場合、は代わりに次のステートメントINSERT
と同等です。UPDATE
UPDATE table SET c=c+1 WHERE a=1 OR b=2 LIMIT 1;
複数の行に一致する場合
a=1 OR b=2
、1つの行のみが更新されます。一般に、ON DUPLICATE KEY UPDATE
複数の一意のインデックスを持つテーブルで句を使用しないようにする必要があります。
これは十分に公平ですが、これを唯一の鍵として持っている場合はどうなりますか?
PRIMARY KEY (`a`,`b`)
重複キーは両方のフィールドに同時に依存しているため、更新は重複が発生する特定の行に確実に影響しますか、それともフィールドが個別に一意であるかのように同じように機能しますか?