SQLIntegrityConstraintViolationException (Java Platform SE 8 )
Keywords: java.sql.SQLIntegrityConstraintViolationException class
Date: 2026-06-25

compact2, compact3
java.sql

## Class SQLIntegrityConstraintViolationException

- java.lang.Object
- - java.lang.Throwable
  - - java.lang.Exception
    - - java.sql.SQLException
      - - java.sql.SQLNonTransientException
        - - java.sql.SQLIntegrityConstraintViolationException

- All Implemented Interfaces:
    Serializable, Iterable<Throwable>

      public class SQLIntegrityConstraintViolationException
      extends SQLNonTransientException

  The subclass of `SQLException` thrown when the SQLState class value is '23', or under vendor-specified conditions. This indicates that an integrity constraint (foreign key, primary key or unique key) has been violated.

  Please consult your driver vendor documentation for the vendor-specified conditions for which this `Exception` may be thrown.

  Since:
    1.6
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SQLIntegrityConstraintViolationException()` Constructs a `SQLIntegrityConstraintViolationException` object.
    `SQLIntegrityConstraintViolationException(String reason)` Constructs a `SQLIntegrityConstraintViolationException` with a given `reason`.
    `SQLIntegrityConstraintViolationException(String reason, String SQLState)` Constructs a `SQLIntegrityConstraintViolationException` object with a given `reason` and `SQLState`.
    `SQLIntegrityConstraintViolationException(String reason, String SQLState, int vendorCode)` Constructs a `SQLIntegrityConstraintViolationException` object with a given `reason`, `SQLState` and `vendorCode`.
    `SQLIntegrityConstraintViolationException(String reason, String SQLState, int vendorCode, Throwable cause)` Constructs a `SQLIntegrityConstraintViolationException` object with a given `reason`, `SQLState`, `vendorCode` and `cause`.
    `SQLIntegrityConstraintViolationException(String reason, String SQLState, Throwable cause)` Constructs a `SQLIntegrityConstraintViolationException` object with a given `reason`, `SQLState` and `cause`.
    `SQLIntegrityConstraintViolationException(String reason, Throwable cause)` Constructs a `SQLIntegrityConstraintViolationException` object with a given `reason` and `cause`.
    `SQLIntegrityConstraintViolationException(Throwable cause)` Constructs an `SQLIntegrityConstraintViolationException` object with a given `cause`.

  - ### Method Summary

    - ### Methods inherited from class java.sql.SQLException

      `getErrorCode, getNextException, getSQLState, iterator, setNextException`

    - ### Methods inherited from class java.lang.Throwable

      `addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach, spliterator`

- - ### Constructor Detail

    - #### SQLIntegrityConstraintViolationException

          public SQLIntegrityConstraintViolationException()

      Constructs a `SQLIntegrityConstraintViolationException` object. The `reason`, `SQLState` are initialized to `null` and the vendor code is initialized to 0. The `cause` is not initialized, and may subsequently be initialized by a call to the `Throwable.initCause(java.lang.Throwable)` method.

      Since:
        1.6

    - #### SQLIntegrityConstraintViolationException

          public SQLIntegrityConstraintViolationException(String reason)

      Constructs a `SQLIntegrityConstraintViolationException` with a given `reason`. The `SQLState` is initialized to `null` and the vendor code is initialized to 0. The `cause` is not initialized, and may subsequently be initialized by a call to the `Throwable.initCause(java.lang.Throwable)` method.

      Parameters:
        `reason` - a description of the exception
      Since:
        1.6

    - #### SQLIntegrityConstraintViolationException

          public SQLIntegrityConstraintViolationException(String reason,
                                                          String SQLState)

      Constructs a `SQLIntegrityConstraintViolationException` object with a given `reason` and `SQLState`. The `cause` is not initialized, and may subsequently be initialized by a call to the `Throwable.initCause(java.lang.Throwable)` method. The vendor code is initialized to 0.

      Parameters:
        `reason` - a description of the exception
        `SQLState` - an XOPEN or SQL:2003 code identifying the exception
      Since:
        1.6

    - #### SQLIntegrityConstraintViolationException

          public SQLIntegrityConstraintViolationException(String reason,
                                                          String SQLState,
                                                          int vendorCode)

      Constructs a `SQLIntegrityConstraintViolationException` object with a given `reason`, `SQLState` and `vendorCode`. The `cause` is not initialized, and may subsequently be initialized by a call to the `Throwable.initCause(java.lang.Throwable)` method.

      Parameters:
        `reason` - a description of the exception
        `SQLState` - an XOPEN or SQL:2003 code identifying the exception
        `vendorCode` - a database vendor specific exception code
      Since:
        1.6

    - #### SQLIntegrityConstraintViolationException

          public SQLIntegrityConstraintViolationException(Throwable cause)

      Constructs an `SQLIntegrityConstraintViolationException` object with a given `cause`. The `SQLState` is initialized to `null` and the vendor code is initialized to 0. The `reason` is initialized to `null` if `cause==null` or to `cause.toString()` if `cause!=null`.

      Parameters:
        `cause` - the underlying reason for this `SQLException` (which is saved for later retrieval by the `getCause()` method); may be null indicating the cause is non-existent or unknown.
      Since:
        1.6

    - #### SQLIntegrityConstraintViolationException

          public SQLIntegrityConstraintViolationException(String reason,
                                                          Throwable cause)

      Constructs a `SQLIntegrityConstraintViolationException` object with a given `reason` and `cause`. The `SQLState` is initialized to `null` and the vendor code is initialized to 0.

      Parameters:
        `reason` - a description of the exception.
        `cause` - the (which is saved for later retrieval by the `getCause()` method); may be null indicating the cause is non-existent or unknown.
      Since:
        1.6

    - #### SQLIntegrityConstraintViolationException

          public SQLIntegrityConstraintViolationException(String reason,
                                                          String SQLState,
                                                          Throwable cause)

      Constructs a `SQLIntegrityConstraintViolationException` object with a given `reason`, `SQLState` and `cause`. The vendor code is initialized to 0.

      Parameters:
        `reason` - a description of the exception.
        `SQLState` - an XOPEN or SQL:2003 code identifying the exception
        `cause` - the underlying reason for this `SQLException` (which is saved for later retrieval by the `getCause()` method); may be null indicating the cause is non-existent or unknown.
      Since:
        1.6

    - #### SQLIntegrityConstraintViolationException

          public SQLIntegrityConstraintViolationException(String reason,
                                                          String SQLState,
                                                          int vendorCode,
                                                          Throwable cause)

      Constructs a `SQLIntegrityConstraintViolationException` object with a given `reason`, `SQLState`, `vendorCode` and `cause`.

      Parameters:
        `reason` - a description of the exception
        `SQLState` - an XOPEN or SQL:2003 code identifying the exception
        `vendorCode` - a database vendor-specific exception code
        `cause` - the (which is saved for later retrieval by the `getCause()` method); may be null indicating the cause is non-existent or unknown.
      Since:
        1.6

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.