شرح صفوف ومحتوى الفقرة
يُعلن الأمر COMMIT; اكتمال جميع خطوات المعاملة الحالية بنجاح ووجوب تثبيتها بشكل دائم في قاعدة البيانات. عند تنفيذ COMMIT;، يفرغ محرك InnoDB سجل الإعادة إلى القرص الصلب ويحرر جميع أقفال الصفوف المحتجزة:
INSERT INTO order_payments: يسجل عملية الدفع المالي داخل نطاق المعاملة النشطة.UPDATE customer_orders: يحدّث حالة الطلب رقم310إلى مدفوع ('paid') ضمن نفس الكتلة الذرية لضمان تطابق السجلين.COMMIT;: يكتب علامة الاعتماد في سجل الإعادة ويجعل التعديلات مرئية لجميع الجلسات الأخرى ويحرر الأقفال.- استحالة التراجع بعد COMMIT: بمجرد نجاح أمر الاعتماد، تُغلق المعاملة نهائياً ولا يمكن التراجع عنها بأمر
ROLLBACK;.
Query OK, 1 row affected (0.00 sec)
Query OK, 1 row affected (0.00 sec)
Query OK, 0 rows affected (0.01 sec) -- COMMIT persisted to disk
SQL
START TRANSACTION;
INSERT INTO order_payments (payment_id, order_id, amount, status)
VALUES (5001, 310, 275.00, 'captured');
UPDATE customer_orders SET payment_state = 'paid' WHERE order_id = 310;
COMMIT;