MySQL :: MySQL 8.0 リファレンスマニュアル :: 1.7.3.1 PRIMARY KEYとUNIQUEインデックス制約
1.7.3.1 PRIMARY KEY および UNIQUE インデックス制約
通常、主キー、ユニーク キー、または外部キー制約に違反するデータ変更文 (INSERT
UPDATE
InnoDB
のようなトランザクション ストレージ エンジンを使用している場合、MySQL は自動的にステートメントをロールバックします。 非トランザクションストレージエンジンを使用している場合、MySQL はエラーが発生した行でステートメントの処理を停止し、残りの行は未処理のままにします。
MySQL は IGNORE
INSERT
UPDATE
などのようにサポートしています。 これを使用すると、MySQL はプライマリ キーまたはユニーク キーの違反を無視し、次の行で処理を続行します。 使用しているステートメントのセクションを参照してください(項13.2.6, “INSERT ステートメント”, 項13.2.13, “UPDATE ステートメント”, など)。
実際に挿入または更新された行数に関する情報は、mysql_info()
C API 関数を使用して取得することができます。 また、SHOW WARNINGS
ステートメントを使用することもできます。 mysql_info()、「SHOW WARNINGSステートメント」 を参照してください。
InnoDB
NDB
テーブルでは外部キーがサポートされています。 FOREIGN KEY制約」 を参照してください。