Với một giao dịch đơn giản nhưMysql rollback giao dịch trên thất bại trong bản cập nhật
START TRANSACTION;
UPDATE posts SET status='approved' where post_id='id' AND status != 'approved';
.. other queries ...
COMMIT;
Tôi muốn thực hiện các giao dịch một lần duy nhất khi thay đổi trạng thái; nhưng ở trên UPDATE
sẽ không đưa ra lỗi để khôi phục giao dịch khi không có hàng nào được cập nhật.
Làm cách nào để hạn chế giao dịch chỉ thực hiện nếu hàng được cập nhật (ý tôi là trạng thái được thay đổi).
Perfect! Như một vấn đề của thực tế, tôi đang trong PHP :) – Googlebot
@Ali Tôi khuyên bạn nên cập nhật thẻ hơn: P – Vyktor
Không chạy "các truy vấn khác" sau đó cuộn chúng trở lại, đó là một chút vô giá. Chỉ cần di chuyển chúng vào cùng một khối mã như COMMIT, vì vậy chúng chỉ bao giờ thực thi nếu cần thiết (trái với việc luôn luôn thực hiện, sau đó thỉnh thoảng quay chúng lại). – MatBailie