मूल रूप से, MySQL ट्रिगर डेटाबेस कैटलॉग में स्टोर्ड स्टेटमेंट्स का एक सेट है। यह डेटाबेस ऑब्जेक्ट हमेशा एक टेबल से जुड़ा होता है जिसे तब सक्रिय होने के लिए परिभाषित किया जाता है जब उस टेबल के लिए एक विशेष प्रकार की घटना होती है। दूसरे अर्थ में, हम कह सकते हैं कि MySQL ट्रिगर एक विशेष प्रकार की स्टोर्ड प्रोसीजर है। इसका स्टोर्ड प्रोसीजर के साथ मुख्य अंतर यह है कि इसे स्टोर्ड प्रोसीजर की तरह सीधे नहीं बुलाया जाता। यह स्वचालित रूप से तब बुलाया जाता है जब टेबल के विरुद्ध डेटा संशोधन घटना होती है। जब आप टेबल पर निम्न MySQL स्टेटमेंट में से एक चलाते हैं तो ट्रिगर निष्पादित हो सकता है: INSERT, UPDATE, और DELETE और इसे इवेंट से पहले या बाद में आह्वान किया जा सकता है। ट्रिगर्स उपयोगकर्ता को उनके अस्तित्व का पता चले बिना चुपचाप निष्पादित होते हैं। इनमें COMMIT या ROLLBACK स्टेटमेंट शामिल नहीं हो सकते।
ट्रिगरिंग इवेंट मूल रूप से समय की क्रिया है यानी ट्रिगर कब सक्रिय होता है। MySQL ट्रिगर्स से संबंधित ट्रिगरिंग इवेंट निम्नलिखित हैं -
- INSERT - जैसा कि इसके नाम से पता चलता है, यह इंगित करता है कि ट्रिगर इवेंट MySQL टेबल में डेटा के सम्मिलन से संबंधित है। इस मामले में, ट्रिगर डेटा के सम्मिलन से पहले या बाद में ट्रिगर होगा।
- DELETE - जैसा कि इसके नाम से पता चलता है, यह इंगित करता है कि ट्रिगर इवेंट MySQL टेबल में डेटा के विलोपन से संबंधित है। इस मामले में, ट्रिगर डेटा के विलोपन से पहले या बाद में ट्रिगर होगा।
- UPDATE - जैसा कि इसके नाम से पता चलता है, यह इंगित करता है कि ट्रिगर इवेंट MySQL टेबल में डेटा के अपडेट से संबंधित है। इस मामले में, ट्रिगर डेटा के अपडेट होने से पहले या बाद में ट्रिगर होगा।