BEGIN
On this page
Commits any existing open transaction on the current connection and starts a new transaction.
Syntax
START TRANSACTION | BEGIN [WORK]
Remarks
-
When
BEGIN
is used to start a transaction, it overrides the behavior ofautocommit
engine variable for this transaction, and the transaction must be ended explicitly withCOMMIT
orROLLBACK
. -
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: October 1, 2024