انتقل إلى محتوى الدرس

Persisting Changes with COMMIT اعتماد التغييرات نهائياً COMMIT

تعلّم التحكم بالمعاملات عبر COMMIT و ROLLBACK و SAVEPOINT في MySQL بأسلوب MySQL 8 الحديث مع أمثلة استعلامات SQL وتطبيقات تفاعلية.
1 صفوف تعليمية
MySQL
7 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

يُعلن الأمر 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;

محاكي أوامر COMMIT و ROLLBACK و SAVEPOINT