Các báo cáo và giao dịch chuẩn bị trước là các kỹ thuật và công nghệ không liên quan.
Bạn có thể muốn phát hành START TRANSACTION
và COMMIT
/ ROLLBACK
lệnh trực tiếp thay vì sử dụng các phương pháp chuyên dụng. Chúng tương đương về mặt chức năng.
Đối với vòng lặp của bạn, bạn sẽ phát hành START TRANSACTION
trước prepare
của bạn , rồi đến COMMIT
của bạn sau khi thoát khỏi vòng lặp. Bạn có thể không nên cố gắng mở một giao dịch sau khi một câu lệnh chuẩn bị đã được bắt đầu nhưng trước khi nó được thực thi.
Vì một số lý do, họ đã không thêm lệnh "bắt đầu giao dịch" để tắt chế độ tự động gửi. Đó là một trong những điều kỳ lạ về mysqli khiến tôi luôn đề xuất PDO thay thế. :) Mở một giao dịch hoàn toàn tắt tính năng tự động gửi trong suốt thời gian của giao dịch.