PDF (US Ltr)
- 26.8Mb
PDF (A4)
- 26.8Mb
通常、データ変更ステートメント (INSERT
や UPDATE
など) がプライマリキー、一意キー、または外部キーの制約に違反すると、エラーが発生します。InnoDB
などのトランザクションストレージエンジンを使用している場合、MySQL ではステートメントが自動的にロールバックされます。非トランザクションストレージエンジンを使用している場合、MySQL は、エラーが発生した行でステートメントの処理を停止し、残りの行を未処理のままにしておきます。
MySQL では、INSERT
や UPDATE
などに対して IGNORE
キーワードをサポートします。これを使用する場合は、MySQL は、プライマリキーまたは一意キーの違反を無視し、次の行を処理し続けます。使用しているステートメントに関するセクション (セクション13.2.5「INSERT 構文」やセクション13.2.11「UPDATE 構文」など) を参照してください。
mysql_info()
C API 関数で、実際に挿入または更新される行数についての情報を取得できます。SHOW WARNINGS
ステートメントを使用することもできます。セクション23.7.7.35「mysql_info()」およびセクション13.7.5.41「SHOW WARNINGS 構文」を参照してください。
現時点では、外部キーがサポートされているのは InnoDB
テーブルのみです。セクション14.6.6「InnoDB と FOREIGN KEY 制約」を参照してください。