Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
HTML Download (Zip) - 7.2Mb


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

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

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

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

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

現時点では、外部キーがサポートされているのは InnoDB テーブルのみです。セクション14.6.6「InnoDB と FOREIGN KEY 制約」を参照してください。