Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

विदेशी कुंजी बाधाओं के साथ एक MySQL तालिका से हटाना

दुर्भाग्य से, स्वचालित विलोपन जो आपको लगता है कि होना चाहिए वह नहीं होता है। आपको तालिका B में उन पंक्तियों को मैन्युअल रूप से हटाना होगा जिनमें तालिका A की पंक्ति से ID शामिल है जिसे आप हटाना चाहते हैं।

डिलीट कैस्केड पर adding जोड़ने का प्रयास करें तालिका बी में आपकी विदेशी कुंजी कॉलम परिभाषा के लिए।

यदि आप हाइबरनेट, या किसी अन्य ओआरएम उपकरण का उपयोग कर रहे हैं, तो इसमें एक "कैस्केड" तंत्र होगा जो इसे स्वचालित रूप से संभाल लेगा। लेकिन यहां चूंकि आप सीधे डेटाबेस के साथ इंटरफेस कर रहे हैं, आपको यह ध्यान रखना चाहिए कि एक पंक्ति को हटाया नहीं जा सकता है यदि उक्त पंक्ति की आईडी किसी अन्य तालिका में विदेशी कुंजी के रूप में मौजूद है (जैसा कि आपके मामले में, ए की प्राथमिक कुंजी मौजूद है बी में कुछ पंक्तियां)। बेशक जब तक आप ON DELETE CASCADE गुण निर्दिष्ट नहीं करते हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP में ज़िप कोड के बीच की दूरी की गणना

  2. MySQL पासवर्ड PHP के साथ MySQL से कनेक्ट हो रहा है

  3. MySQL कॉलम में रैंडम नंबर

  4. MySQL अद्यतन क्वेरी पर 'फ़ील्ड सूची' त्रुटि में अज्ञात कॉलम

  5. जेपीए प्रश्नों में कोलन कैरेक्टर ':' से बचना