Sử dụng một giao dịch tự trị cho bất kỳ điều gì khác ngoài việc ghi nhật ký mà bạn muốn được lưu giữ khi giao dịch mẹ quay trở lại gần như chắc chắn là một lỗi. Đây không phải là cách sử dụng tốt một giao dịch tự trị.
Điều gì xảy ra, chẳng hạn, nếu tôi cập nhật một hàng trong t1
nhưng giao dịch của tôi quay trở lại. t2
các thay đổi đã được thực hiện và cam kết để chúng không quay trở lại. Điều đó thường có nghĩa là t2
dữ liệu hiện không chính xác. Toàn bộ điểm của giao dịch là đảm bảo rằng một tập hợp các thay đổi là nguyên tử và hoàn toàn thành công hoặc hoàn toàn hoàn toàn. Cho phép mã thành công một phần hầu như không bao giờ là một ý tưởng hay.
Tôi rất khó để biết việc sử dụng giao dịch tự động mua được gì cho bạn ở đây. Bạn sẽ thường thấy mọi người sử dụng không chính xác các giao dịch tự quản để khắc phục các lỗi kích hoạt thay đổi một cách không chính xác. Nhưng mã bạn đã đăng sẽ không tạo ra lỗi kích hoạt thay đổi trừ khi có trình kích hoạt cấp hàng trên t2
cũng đang cố cập nhật t1
hoặc một số cơ chế tương tự đang giới thiệu một bảng đột biến. Tuy nhiên, nếu đúng như vậy, việc sử dụng giao dịch tự trị nói chung thậm chí còn tồi tệ hơn vì giao dịch tự trị sau đó không thể thấy các thay đổi được thực hiện trong giao dịch mẹ, điều này gần như chắc chắn khiến mã hoạt động khác với bạn mong muốn.