MySQL Foreign Key Constraint
|MySQL Foreign Key Constraint : जब भी हम कोई भी दो टेबल को Connect करते हैं दोनों टेबल के एक एक Column की बेस पर उन्हें Connect किया जाता हैं, जिन Columns की base पर Connect किया जाता हैं वह Master table में Primary Key कहलाते हैं और Transaction टेबल में Foreign Key कहलाते हैं, इस Article में हम समझेंगे की यदि हम Transaction में Entry करने के बाद Master से डाटा Delete नहीं होने देना चाहते हैं तो हमें Foreign Key Constraint का उपयोग करना होता हैं ।
MySQL Foreign Key Constraint Example Using SQL
हमारे पास Do Table हैं एक Master और दूसरी Transaction , यह उनके Structure हैं ।
यदि आप Table और Trigger बनाना चाहते हैं तो इस लिंक पर क्लिक करे
ALTER TABLE `trn_item` ADD CONSTRAINT `trn_item_ibfk_1` FOREIGN KEY (`item_id`) REFERENCES `mst_item`(`item_id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
यदि Transaction Table में पहले से डाटा हो और उसे कोई Data इस Validation का pass नहीं करता होगा तो यह SQL Execute नहीं होगी ।
Foreign Key Constraint Steps
Set InnoDB : सबसे पहले हमें जिन दो Table को Connect करना हैं उन Table पर क्लिक कर हमें Operation Menu में जा कर Table Option में जा कर Engine को InnoDB सेट करना होता हैं । ऐसा करना से Table Structure वाले Tab Me Relative View का Button दिखाई देने लगता हैं ।
Relation View : जो Transaction टेबल हैं उस पर Relative View Button पर क्लिक कर हमें Transaction Table की Key ( जिसे हम Foreign Key) कहते हैं उसे सेलेक्ट करना होती हैं , उसके बाद Database और वह Master Table select करना होती हैं और Master Table की Primary Key Select करना होती हैं उसे बाद हम Save कर देते हैं ।
Transaction Table : अब जब भी आप Transaction Table में Record Insert करेंगे तो उसमे Foreign Key पर Lookup आने लगेगी। ताकि आप उसके Record के अलावा कोई और Record Select न कर पाए, और यदि आपने Insert SQL लिख कर भी कोई अन्य Code Enter करना चाहेंगे तो भी Data Insert नहीं होगा ।
Master Table : यदि इस टेबल से आप कोई भी ऐसा Record Delete करना चाहेंगे जिसका Reference आपने Transaction में select किया हुआ हैं तो वह Delete नहीं होने देगा, यदि आपने Transaction से Data Delete कर दिया उसके बाद Master से delete करेंगे तो फिर यह Data को Delete करने देगा ।
यदि आप वीडियो के माध्यम से समझना चाहते हैं तो यह वीडियो देख सकते हैं