BEGIN

Commits any existing open transaction on the current connection and starts a new transaction.

Syntax

START TRANSACTION | BEGIN [WORK]

Remarks

  • If the transaction is successful, execute the COMMIT command to commit the changes; if the transaction is unsuccessful or needs to be reverted, then execute the ROLLBACK command to revert the changes.

  • The maximum number of tables that can be written into a single transaction is 1024. If the transaction table writes exceed the maximum amount, an error will be generated. Execute the ROLLBACK command to revert any changes. Then split the transaction into smaller sections and execute again.

Example

For this example, consider the following Employee table:

ID

Name

30

Jim

20

Rob

40

Rick

BEGIN;
UPDATE Employee SET Name = "John" WHERE ID = 300;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 0  Changed: 0  Warnings: 0

Run the SELECT query to verify if the UPDATE is correct:

SELECT * FROM Employee;
+------+-------+
| ID   | Name  |
+------+-------+
|   30 | Jim   |
|   20 | Rob   |
|   40 | Rick  |
+------+-------+

Run ROLLBACK since there were no matching results for the ID and the UPDATE was not successful.

ROLLBACK;

Note: Before the user runs COMMIT or ROLLBACK, only that user can see the updates made after BEGIN was run.

Last modified: June 22, 2022

Was this article helpful?