Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Thực hiện COMMIT transaction trong MySQL stored procedure

START TRANSACTION bắt đầu giao dịch, tắt autocommit. COMMIT xác nhận thay đổi.

Ví dụ thủ tục INSERT + UPDATE + COMMIT:

mysql> SELECT * FROM employee.tbl;
+----+---------+
| Id | Name    |
+----+---------+
| 1  | Mohan   |
| 2  | Gaurav  |
| 3  | Rahul   |
| 4  | Saurabh |
+----+---------+

mysql> DELIMITER //
mysql> CREATE PROCEDURE st_transaction_commit()
    -> BEGIN
    -> START TRANSACTION;
    -> INSERT INTO employee.tbl(name) VALUES('Yash');
    -> UPDATE employee.tbl SET name='Sohan' WHERE id=3;
    -> COMMIT;
    -> END //
Query OK, 0 rows affected (0.03 sec)

Gọi thủ tục:

mysql> CALL st_transaction_commit();
Query OK, 0 rows affected (0.17 sec)
mysql> SELECT * FROM employee.tbl;
+----+---------+
| Id | Name    |
+----+---------+
| 1  | Mohan   |
| 2  | Gaurav  |
| 3  | Sohan   |   -- đã UPDATE
| 4  | Saurabh |
| 5  | Yash    |   -- đã INSERT
+----+---------+

Cả hai thay đổi đều được commit thành công.