"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > متى لا يتم إرجاع المعاملة تلقائيًا في SQL؟

متى لا يتم إرجاع المعاملة تلقائيًا في SQL؟

تم النشر بتاريخ 2024-11-07
تصفح:869

When is a Transaction Not Automatically Rolled Back in SQL?

التراجع التلقائي عن المعاملات يدور السؤال حول سلوك المعاملات عند حدوث خطأ داخل كتلة من عبارات SQL المحاطة بـ START TRANSACTION و ارتكاب الصفقة. يلاحظ OP أنه عند حدوث خطأ في بناء الجملة قبل بيان الالتزام بالمعاملة، يتم التراجع عن المعاملة تلقائيًا.

آلية التراجع عن المعاملة

لا، لا يتم إرجاع المعاملات العودة فورًا عند مواجهة خطأ. ومع ذلك، قد تعتمد بعض تطبيقات العميل سياسات محددة لمعالجة الأخطاء.

على سبيل المثال، في عميل سطر الأوامر mysql:

خطأ أثناء التنفيذ عادةً يوقف عملية التنفيذ ويؤدي إلى ترك العميل.
  • يؤدي الانسحاب أثناء استمرار المعاملة تلقائيًا إلى التراجع عن المعاملة.
تخصيص سياسة التراجع

عند إنشاء تطبيقاتك الخاصة، يمكنك التحكم في سياسات التراجع عن المعاملات. ومع ذلك، لاحظ أن هناك استثناءات حيث يتم فرض التراجع:

قطع اتصال العميل
    : يؤدي إنهاء قاعدة البيانات أو قطع الاتصال بها دائمًا إلى بدء التراجع عن المعاملة.
  1. مهلة الجمود/قفل الانتظار
  2. : عند حدوث حالة توقف تام أو مهلة انتظار القفل، تحدث عملية تراجع ضمنية.
  3. بالنسبة لجميع السيناريوهات الأخرى، إذا تمت مواجهة خطأ أثناء المعاملة ، يتم إرجاع الخطأ، ويكون للمطور خيار تنفيذ المعاملة أو تجاهلها.
بيان الافراج أعيد طبع هذه المقالة على: 1729746768 في حالة وجود أي انتهاك، يرجى الاتصال بـ [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3