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

Cách bắt đầu giao dịch MySQL mới


Chạy lệnh START TRANSACTION để bắt đầu giao dịch mới. Hành vi phụ thuộc chế độ AUTOCOMMIT.

Chế độ AUTOCOMMIT ON (Mặc định)

Mỗi câu lệnh tự commit. Bật bằng:

SET AUTOCOMMIT = 1
mysql> SET AUTOCOMMIT = 1;
Query OK, 0 rows affected (0.07 sec)

Chế độ AUTOCOMMIT OFF

Các câu lệnh sau hoạt động như một giao dịch, chỉ commit khi có COMMIT rõ ràng. Bật bằng:

SET AUTOCOMMIT = 0
mysql> SET AUTOCOMMIT = 0;
Query OK, 0 rows affected (0.00 sec)

Trong chế độ này, câu lệnh thực thi đầu tiên của phiên mới sẽ ngầm bắt đầu giao dịch nhiều câu lệnh.

Lưu ý cho InnoDB

Thay vì SET AUTOCOMMIT = 0, khuyến nghị dùng COMMIT rõ ràng.

Cả 2 chế độ đều bắt đầu giao dịch bằng:

mysql> START TRANSACTION;
Query OK, 0 rows affected (0.00 sec)

Câu lệnh này báo MySQL: các câu lệnh sau là đơn vị công việc đơn lẻ cho đến khi kết thúc giao dịch.