एक डेडलक तब हुन्छ जब दुई (वा अधिक) ट्रान्जेक्शनहरू प्रत्येकले अर्कोलाई आवश्यक पर्ने ताला राखे हुन्छन्, त्यसैले कोही पनि अगाडि बढ्न सक्दैनन् — तिनीहरू सधैंको लागि एकअर्काको प्रतीक्षामा अलमेलो हुन्छन्। डाटाबेसहरूले डेडलक्स पत्ता लगाउँछन् र एक ट्रान्जेक्शन रद्द गरेर ("पीडित"), जसले पुनः प्रयास गर्नुपर्छ, तिनीहरू समाधान गर्छन्। समवर्ती अनुप्रयोगहरूका लागि कारण र रोकथाम बुझ्न महत्त्वपूर्ण छ।
डेडलक कसरी हुन्छ
Transaction A: locks row 1, then wants row 2
Transaction B: locks row 2, then wants row 1
→ A waits for B (to release row 2), B waits for A (to release row 1) → DEADLOCK
Neither can proceed; they're waiting on each other in a cycle.
; ;
accounts .. id; accounts .. id;
accounts .. id; accounts .. id;
