MaxAffectedRowsAllowedUpdate

Last updated: July 14, 2025

This check triggers when the number of rows a SQL statement updates exceeds the value of MaxAffectedRowsAllowed. The SQL statement is executed against the database and then rolled back.

__Note__: This check is not able to evaluate complex multi-statement SQL logic accurately. This limitation is common when analyzing stored logic (e.g., stored procedures, functions, or triggers), but it also applies to any SQL that spans multiple statements or includes procedural logic.

Uses

Property

Value

Liquibase version required

4.28.0+

Scope (--checks-scope)

changelog

Default status

enabled

Default severity (exit code)

0 ("INFO")

Customizable settings

Yes (dynamic)

Use this check to prevent statements from being inserted into your database if more than a specified number of rows are affected by that statement.

Known limitation

It is important to know that only UPDATE, INSERT,and DELETE SQL statements will execute when this check triggers and the results are counted to determine if the maxAffectedRowsAllowedInsert triggers or not. If SQL statements exist that are not UPDATE, INSERT,and DELETE, they will not be executed, resulting in unexpected conditions for the check to evaluate. This can lead to false negative and false positive results. It is best to disable any changesets that include multiple SQL statements or are not UPDATE, INSERT,and DELETE when running the MaxAffectedRowsAllowedInsert policy check.

Before you begin

  1. Ensure that you have correctly specified your Liquibase Pro license key.

  2. Ensure that the --checks-scope parameter includes the scope of this check.

Changelog checks prerequisites

--license-key=<string>
--checks-scope=<string>

Procedure

1

Enable

This check is enabled by default. To verify that it is currently enabled, run the checks show command:

liquibase checks show --check-name=<string>

2

Customize

This check is dynamic, meaning you can customize its settings. See the table on this page for more information.

1. Once you've enabled the check, follow the steps in the CLI to set new values.

Default values are shown in[brackets]. You can use these by pressingEnter. Alternatively, specify custom values. If a customization setting does not have a default value, you must specify custom values.

2. When finished, verify that your configuration is correct by running thechecks showcommand.

liquibase checks show --check-name=<string>

3. If you need to make any other changes, run thechecks customizecommand:

liquibase checks customize --check-name=<string>

Note: If you want to create another variant of this check with different settings, use thechecks copycommand to create a copy of the original check and then use thechecks customizecommand to customize it.

3

Run

To run the check, use the checks run command.

liquibase checks run --check-name=<string>