मूल तालिका से पंक्ति को हटाते समय, यदि उस पंक्ति के डेटा का उपयोग चाइल्ड टेबल में किया जाता है, तो MySQL FOREIGN KEY बाधा की विफलता के कारण एक त्रुटि फेंक देगा। इसे 'ग्राहक' और 'आदेश' नाम की दो तालिकाओं के उदाहरण से समझा जा सकता है। यहां, 'ग्राहक' मूल तालिका है और 'आदेश' चाइल्ड टेबल है। हम 'ग्राहक' तालिका से चाइल्ड टेबल 'ऑर्डर' में उपयोग की जाने वाली एक पंक्ति को हटा नहीं सकते हैं। इसे मूल तालिका से मानों को इस प्रकार हटाकर प्रदर्शित किया जा सकता है -
mysql> Select * from Customer; +----+--------+ | id | name | +----+--------+ | 1 | Gaurav | | 2 | Raman | | 3 | Harshit| | 4 | Aarav | +----+--------+ 4 rows in set (0.00 sec) mysql> Select * from orders; +----------+----------+------+ | order_id | product | id | +----------+----------+------+ | 100 | Notebook | 1 | | 110 | Pen | 1 | | 120 | Book | 2 | | 130 | Charts | 2 | +----------+----------+------+ 4 rows in set (0.00 sec)
अब, मान लीजिए कि अगर हम पैरेंट टेबल 'ग्राहक' से आईडी =1 या आईडी =2 (चाइल्ड टेबल में इस्तेमाल की गई दोनों पंक्तियों के कारण) वाली पंक्ति को हटाने की कोशिश करेंगे, तो MySQL विदेशी की विफलता के कारण निम्नानुसार एक त्रुटि फेंकता है मुख्य बाधा।
mysql> Delete from customer where id = 1; ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`query`.`orders`, CONSTRAINT `orders_ibfk_1` FOREIGN KEY (`id`)REFERENCES `customer` (`id`)) mysql> Delete from customer where id = 2; ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`query`.`orders`, CONSTRAINT `orders_ibfk_1` FOREIGN KEY (`id`)REFERENCES `customer` (`id`))