update
The update
Change Type updates the data in an existing table.
Uses
You can typically use the update
Change Type when you want to update a table in your changelog file and then deploy this update to your database. It can include columns and another values listed in this documentation.
Running the update
Change Type
To update a table for your database, follow these steps:
Step 1: Add the update
Change Type to your changeset with the needed attributes as it is shown in the examples.
Step 2: Deploy your changeset by running the update
command.
liquibase update
Now, you should see an updated table.
Note: You can use the update
Change Type in combination with loadData and loadUpdateData Change Types.
Available attributes
Name | Description | Required for | Supports | Since |
---|---|---|---|---|
catalogName
|
The name of the catalog | all | 3.0 | |
schemaName
|
The name of the schema | all | ||
tableName
|
The name of the table | all | all | |
where
|
The name of the 'where' condition string | all |
Nested properties
Name | Description | Required for | Supports | Multiple allowed |
---|---|---|---|---|
column
|
The data to update. For more information, see column. Note: YAML and JSON changelogs using the |
all | all | yes |
where
|
The property that allows to define the 'where' condition string. | all | no | |
whereParams
|
Parameters for the 'where' condition.
The 'param'(s) are inserted in the order they are defined in place of the :name and :value placeholders. See the generated SQL sample below. |
all | no |
Nested property attributes
Name | Name of the attribute |
---|---|
value
|
A value of the attribute.
Note: If it is not set, then the first |
valueNumeric
|
The integer value of the attribute. |
valueBoolean
|
The boolean value of the attribute. |
valueDate
|
The date and/or time value to set the attribute. The value should be specified in one of the
following forms: YYYY-MM-DD , hh:mm:ss , or YYYY-MM-DDThh:mm:ss . |
valueComputed
|
A value that is returned from a function or procedure call. This attribute should contain the function name to call. |
valueSequenceNext
|
The name of the sequence in which the next value is used. |
valueSequenceCurrent
|
The name of the sequence in which the current value is used. |

<changeSet author="liquibase-docs" id="update-example">
<update catalogName="liquibase"
schemaName="public"
tableName="person">
<column name="address" value="address value"/>
<where>name='Bob'</where>
</update>
</changeSet>

changeSet:
id: update-example
author: liquibase-docs
changes:
- update:
catalogName: liquibase
columns:
- column:
name: address
value: address value
schemaName: public
tableName: person
where: name='Bob'

{
"changeSet":{
"id":"update-example",
"author":"liquibase-docs",
"changes":[
{
"update":{
"catalogName":"liquibase",
"columns":[
{
"column":{
"name":"address",
"value":"address value"
}
}
],
"schemaName":"public",
"tableName":"person",
"where":"name='Bob'"
}
}
]
}
}

UPDATE liquibase.person SET address = 'address value' WHERE name='Bob';
Database support
Database | Notes | Auto rollback |
---|---|---|
DB2/LUW | Supported | No |
DB2/z | Supported | No |
Derby | Supported | No |
Firebird | Supported | No |
H2 | Supported | No |
HyperSQL | Supported | No |
INGRES | Supported | No |
Informix | Supported | No |
MariaDB | Supported | No |
MySQL | Supported | No |
Oracle | Supported | No |
PostgreSQL | Supported | No |
Snowflake | Supported | No |
SQL Server | Supported | No |
SQLite | Supported | No |
Sybase | Supported | No |
Sybase Anywhere | Supported | No |