JavaのSQLIntegrityConstraintViolationExceptionとは何かを解説
今回はSQLIntegrityConstraintViolationExceptionが何かを解説します。
SQLIntegrityConstraintViolationExceptionとは
下記のコードで考えます。
try {
} catch (SQLIntegrityConstraintViolationException e) {
}catch文の中で使います。
データベースに設定された制約に違反した場合に発生する例外クラスです。
名前を分解してみます。
名前 意味
SQL データベースを操作するSQL
Integrity データの整合性
Constraint 制約・ルール
Violation 違反
Exception 例外・エラーつまり、SQLを実行した結果、データベースの整合性を守るための制約に違反したという意味です。
例えばMySQLには次のような制約があります。
- PRIMARY KEY : 主キーの重複を禁止する
- UNIQUE : 指定した値の重複を禁止する
- FOREIGN KEY : 参照先に存在しないデータなどを禁止する
- NOT NULL : NULLの登録を禁止する
これらの制約に違反するとSQL実行時に例外が発生する場合がありこんな時にSQLIntegrityConstraintViolationExceptionを使います。