SAVEPOINT
trong MySQL cho phép bạn xác định một điểm trong giao dịch, từ đó có thể quay lại nếu có lỗi xảy ra mà không cần hoàn toàn rollback toàn bộ giao dịch. Đây là cách sử dụng SAVEPOINT
trong MySQL:
SAVEPOINT
START TRANSACTION
hoặc BEGIN
.SAVEPOINT
: Đặt một điểm lưu trữ trong giao dịch bằng cách sử dụng câu lệnh SAVEPOINT
theo sau là tên mà bạn muốn đặt cho điểm lưu trữ.SAVEPOINT
: Nếu cần, bạn có thể quay lại điểm lưu trữ bằng cách sử dụng câu lệnh ROLLBACK TO SAVEPOINT
theo sau là tên điểm lưu trữ.COMMIT
.Dưới đây là một ví dụ cụ thể về cách sử dụng SAVEPOINT
:
START TRANSACTION; -- Thực hiện thao tác đầu tiên INSERT INTO accounts (user_id, balance) VALUES (1, 1000); -- Tạo SAVEPOINT SAVEPOINT sp1; -- Thực hiện thao tác thứ hai INSERT INTO accounts (user_id, balance) VALUES (2, 2000); -- Nếu có lỗi xảy ra, bạn có thể quay lại SAVEPOINT ROLLBACK TO SAVEPOINT sp1; -- Kết thúc giao dịch COMMIT;
START TRANSACTION
: Bắt đầu giao dịch.SAVEPOINT sp1
: Tạo một điểm lưu trữ có tên sp1
.ROLLBACK TO SAVEPOINT sp1
: Nếu thao tác chèn thứ hai gặp lỗi hoặc không mong muốn, bạn có thể quay lại trạng thái trước khi chèn thao tác này mà không cần hoàn toàn hủy bỏ giao dịch.COMMIT
: Hoàn tất giao dịch, áp dụng tất cả các thay đổi đã thực hiện trong giao dịch.ROLLBACK
mà không chỉ định điểm lưu trữ, toàn bộ giao dịch sẽ bị hủy bỏ.Hy vọng hướng dẫn này giúp bạn hiểu cách sử dụng SAVEPOINT
trong MySQL!