MySQL 8.0 リファレンスマニュアル


MySQL 8.0 リファレンスマニュアル  /  ...  /  PRIMARY KEY および UNIQUE インデックス制約

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

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

MySQL では、INSERTUPDATE などに対して IGNORE キーワードをサポートします。 これを使用する場合は、MySQL は、プライマリキーまたは一意キーの違反を無視し、次の行を処理し続けます。 使用しているステートメントに関するセクション (セクション13.2.6「INSERT ステートメント」セクション13.2.13「UPDATE ステートメント」など) を参照してください。

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

InnoDB テーブルおよび NDB テーブルでは、外部キーがサポートされます。 セクション1.7.3.2「FOREIGN KEY の制約」を参照してください。


関連キーワード:  制約, ステートメント, KEY, InnoDB, セクション, 標準, UPDATE, 処理, インデックス, 一般