START TRANSACTION bắt đầu giao dịch, tắt chế độ autocommit.
Ví dụ thủ tục chỉ INSERT trong transaction (chưa COMMIT):
mysql> SELECT * FROM employee.tbl;
+----+---------+
| Id | Name |
+----+---------+
| 1 | Mohan |
| 2 | Gaurav |
| 3 | Rahul |
+----+---------+
mysql> DELIMITER //
mysql> CREATE PROCEDURE st_transaction()
-> BEGIN
-> START TRANSACTION;
-> INSERT INTO employee.tbl(name) VALUES('Saurabh');
-> END //
Query OK, 0 rows affected (0.00 sec)
Gọi thủ tục:
mysql> CALL st_transaction(); Query OK, 0 rows affected (0.17 sec) mysql> SELECT * FROM employee.tbl; +----+---------+ | Id | Name | +----+---------+ | 1 | Mohan | | 2 | Gaurav | | 3 | Rahul | | 4 | Saurabh | +----+---------+
Lưu ý: Nếu không COMMIT/ROLLBACK và session kết thúc, thay đổi có thể bị rollback tùy cấu hình. Nên luôn dùng COMMIT/ROLLBACK rõ ràng.