addNotNullConstraint
The addNotNullConstraint Change Type adds a NOT NULL constraint to an existing table.
Uses
You can typically use the addNotNullConstraint
Change Type when you want to apply a NOT NULL
constraint value to a specific table instead of having nullable columns in that table. The addNotNullConstraint
Change Type enforces a column to always contain a value and not to accept NULL
values so that you cannot insert or update a record without adding a value to the column containing this constraint.
If a defaultNullValue
attribute is passed, all null values for the column will be updated to the passed value before the constraint is applied. If null values exist in your database, and if you don’t not use a defaultNullValue
attribute, the change will fail.
Running the addNotNullConstraint
Change Type
To run this Change Type, follow these steps:
Add the Change Type to your changeset, as shown in the examples on this page.
Specify any required attributes. Use the table on this page to see which ones your database requires.
Deploy your changeset by running the
update
command:liquibase update
Available attributes
Name | Description | Required for | Supports |
| Name of the catalog | all | |
| Data type of the column. To help make scripts database-independent, Liquibase automatically converts the following generic data types to the correct database implementation: Also, specifying a
For Snowflake, Liquibase also implements For Databricks, Liquibase also implements Note: To specify a complex Databricks type like For more information, see Liquibase Data Type Handling. | informix, mariadb, mssql, mysql | all |
| Name of the column for which to add the constraint. | all | all |
| Name of the constraint to add (if database supports names for
constraints) | -- | |
| The value for which you can set all values that currently equal null in a column. If null values exist and if | all | |
| Name of the schema | all | |
| Name of the table to add a | all | all |
| Set to | all |
Database support
Database | Notes | |
DB2/LUW | Supported | Yes |
DB2/z | Not Supported | No |
Derby | Supported | Yes |
Firebird | Not Supported | No |
Google BigQuery | Supported | Yes |
H2 | Supported | Yes |
HyperSQL | Supported | Yes |
INGRES | Supported | Yes |
Informix | Supported | Yes |
MariaDB | Supported | Yes |
MySQL | Supported | Yes |
Oracle | Supported | Yes |
PostgreSQL | Supported | Yes |
Snowflake | Supported | Yes |
SQL Server | Supported | Yes |
SQLite | Not Supported | No |
Sybase | Supported | Yes |
Sybase Anywhere | Supported | Yes |
addNotNullConstraint examples
--liquibase formatted sql
--changeset liquibase-docs:addNotNullConstraint-example
UPDATE cat.person
SET
id = 'INT'
WHERE
id IS NULL;
ALTER TABLE cat.person MODIFY id INT NOT NULL;