MySQL :: MySQL 8.0 リファレンスマニュアル :: 1.7.3.1 PRIMARY KEYとUNIQUEインデックス制約

1.7.3.1 PRIMARY KEY および UNIQUE インデックス制約

通常、主キー、ユニーク キー、または外部キー制約に違反するデータ変更文 (INSERTUPDATEInnoDB のようなトランザクション ストレージ エンジンを使用している場合、MySQL は自動的にステートメントをロールバックします。 非トランザクションストレージエンジンを使用している場合、MySQL はエラーが発生した行でステートメントの処理を停止し、残りの行は未処理のままにします。

MySQL は IGNOREINSERTUPDATE などのようにサポートしています。 これを使用すると、MySQL はプライマリ キーまたはユニーク キーの違反を無視し、次の行で処理を続行します。 使用しているステートメントのセクションを参照してください(項13.2.6, “INSERT ステートメント”, 項13.2.13, “UPDATE ステートメント”, など)。

実際に挿入または更新された行数に関する情報は、mysql_info() C API 関数を使用して取得することができます。 また、SHOW WARNINGSステートメントを使用することもできます。 mysql_info()、「SHOW WARNINGSステートメント」 を参照してください。

InnoDBNDB テーブルでは外部キーがサポートされています。 FOREIGN KEY制約」 を参照してください。