MySQL - Transaction
Trong MySQL, transaction là một chuỗi các thao tác cơ sở dữ liệu được thực hiện như một đơn vị đơn lẻ. Các thao tác này được thực hiện hoặc hoàn tác toàn bộ, và không bị phân mảnh hay bị gián đoạn bởi các thao tác khác trong cùng một thời điểm.
Các transaction được sử dụng để đảm bảo tính toàn vẹn dữ liệu trong các ứng dụng cơ sở dữ liệu. Nếu một transaction không thành công, tất cả các thao tác trong transaction đó sẽ bị hoàn tác, và cơ sở dữ liệu sẽ được phục hồi về trạng thái trước khi transaction được thực hiện.
Để bắt đầu một transaction trong MySQL, bạn có thể sử dụng câu lệnh START TRANSACTION
. Sau khi transaction đã bắt đầu, bạn có thể thực hiện các thao tác cơ sở dữ liệu bình thường bằng các câu lệnh SQL thông thường.
Khi bạn đã hoàn tất các thao tác trong transaction, bạn có thể chấp nhận các thay đổi bằng cách sử dụng câu lệnh COMMIT
. Nếu bạn muốn hủy bỏ các thay đổi trong transaction, bạn có thể sử dụng câu lệnh ROLLBACK
.
Dưới đây là một ví dụ về cách sử dụng transaction trong MySQL:
START TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE account_id = 1;
UPDATE accounts SET balance = balance + 100 WHERE account_id = 2;
COMMIT;
Trong ví dụ này, hai thao tác được thực hiện trên hai tài khoản khác nhau. Nếu cả hai thao tác đều thành công, thì sẽ được chấp nhận bằng cách sử dụng câu lệnh COMMIT
. Nếu một trong hai thao tác không thành công, tất cả các thao tác trong transaction sẽ bị hoàn tác bằng cách sử dụng câu lệnh ROLLBACK
.
No Comments