Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

MySQL में DELETE ऑपरेशन निष्पादित होने के बाद फायर ट्रिगर


DELETE ऑपरेशन निष्पादित होने के बाद ट्रिगर को सक्रिय करने के लिए AFTER DELETE का उपयोग करें। निम्नलिखित वाक्य रचना है -

DELIMITER // क्रिएट करें TRIGGER yourTriggerName DELETE ON yourTableName प्रत्येक पंक्ति के लिए आपका Statement1 शुरू होता है। . एन अंत; //

आइए पहले एक टेबल बनाएं -

mysql> तालिका बनाएं DemoTable(Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,FirstName varchar(100));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.62 सेकंड)

इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें -

mysql> डेमोटेबल (फर्स्टनाम) वैल्यू ('जॉन') में डालें; क्वेरी ओके, 1 पंक्ति प्रभावित (0.20 सेकंड) mysql> डेमोटेबल (फर्स्टनाम) वैल्यू ('माइक') में डालें; क्वेरी ओके, 1 पंक्ति प्रभावित ( 0.12 सेकंड)

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें -

mysql> डेमोटेबल से *चुनें;

यह निम्नलिखित आउटपुट उत्पन्न करेगा -

<पूर्व>+----+-----------+| आईडी | प्रथम नाम |+----+-----------+| 1 | जॉन || 2 | माइक |+----+-----------+2 पंक्तियों में सेट (0.00 सेकंड)

ट्रिगर बनाने और AFTER DELETE का उपयोग करने के लिए क्वेरी निम्नलिखित है -

mysql> DELIMITER //mysql> प्रत्येक पंक्ति के लिए डेमोटेबल पर डिलीट करने के बाद TRIGGER history_of_Table बनाएं @userName में उपयोगकर्ता () का चयन करें; अभी चुनें () @deleteDatetime में; अंत; // क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.18 सेकंड)mysql> DELIMITER;

यह जांचने के लिए कि ट्रिगर काम कर रहा है या नहीं, तालिका से पहला रिकॉर्ड हटाएं -

mysql> DemoTable से हटाएं जहां Id=1;क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.26 सेकंड)

ऊपर, हमने तालिका से पहला रिकॉर्ड हटा दिया है। इसका मतलब है कि DELETE कमांड के उपयोग के बाद ट्रिगर सक्रिय होना चाहिए -

mysql> @userName चुनें;

यह निम्नलिखित आउटपुट उत्पन्न करेगा -

<पूर्व>+----------------+| @उपयोगकर्ता नाम |+----------------+| रूट@लोकलहोस्ट |+----------------+1 पंक्ति सेट में (0.00 सेकंड)

जब भी ट्रिगर काम करता है तो यह वर्तमान समय प्रदर्शित करता है -

mysql> @deleteDatetime चुनें;

यह निम्नलिखित आउटपुट उत्पन्न करेगा -

<पूर्व>+---------------------+| @deleteDatetime |+---------------------+| 2019-07-09 21:06:31 |+---------------------+1 पंक्ति सेट में (0.00 सेकंड)
  1. ट्रिगर निष्पादन के दौरान MySQL त्रुटियों को कैसे संभाल सकता है?

    मान लीजिए कि अगर ट्रिगर निष्पादन के दौरान कोई त्रुटि होती है तो MySQL इसे निम्नानुसार संभाल सकता है - यदि कोई पहले ट्रिगर विफल हो जाता है, तो संबंधित पंक्ति पर कार्रवाई नहीं की जाती है। पंक्ति डालने या संशोधित करने के प्रयास से पहले ट्रिगर सक्रिय होता है, भले ही प्रयास बाद में सफल हो या नहीं। आफ्टर

  1. MySQL तालिका में सभी डुप्लिकेट रिकॉर्ड कैसे हटाएं?

    तालिका से डुप्लिकेट रिकॉर्ड को हटाने के लिए, हम DELETE कमांड का उपयोग कर सकते हैं। आइए अब एक टेबल बनाते हैं। );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.60 सेकंड) तालिका में रिकॉर्ड सम्मिलित करना DuplicateDeleteDemo:यहां, हमने जॉन को डुप्लिकेट रिकॉर्ड के रूप में 3 बार जोड़ा है। डुप्लीकेट डिलीट डेमो वैल

  1. मैं पायथन में MySQL डेटाबेस में INSERT के बाद आईडी कैसे प्राप्त करूं?

    सबसे पहले, हमें नीचे दी गई आवश्यकताओं को पूरा करने की आवश्यकता है। निम्नलिखित पूर्वापेक्षाएँ हैं। हमें MySQL संस्करण 8.0.12 स्थापित करने की आवश्यकता है। हमें पायथन संस्करण 3.6.3 (32 बिट) स्थापित करने की आवश्यकता है। हमें pip कमांड की मदद से pymysql इंस्टॉल करना होगा। “pymysql . स्थापित करने के लि