जैसा कि हम जानते हैं कि किसी ईवेंट की समय सीमा समाप्त होने पर स्वचालित रूप से हटा दिया जाता है और हम इसे SHOW EVENTS स्टेटमेंट से नहीं देख पाएंगे। इस तरह के व्यवहार को बदलने के लिए हम ईवेंट बनाते समय ON COMPLETION PRESERVE का उपयोग कर सकते हैं। इसे निम्न उदाहरण से समझा जा सकता है -
उदाहरण
mysql> तालिका बनाएं event_messages(ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT, MESSAGE VARCHAR(255) NOT NULL, Generate_at DATETIME NOT NULL);क्वेरी ठीक, 0 पंक्तियाँ प्रभावित (0.61 सेकंड)
नीचे दी गई क्वेरी ON COMPLETION PRESERVE के उपयोग के बिना एक ईवेंट बनाएगी इसलिए इसे db_name से ईवेंट दिखाएं के आउटपुट में नहीं देखा जाएगा क्वेरी।
mysql> क्रिएट EVENT टेस्टिंग_इवेंट_बिना_संरक्षित शेड्यूल पर CURRENT_TIMESTAMP DO INSERT INTO event_messages(message,generated_at) Value('बिना संरक्षित', अब ()); क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.00 सेकंड)mysql> event_messages से * चुनें; +-------- आईडी | संदेश | Generate_at |+-----+---------------------+---------------------+| 1 | बिना परिरक्षित | 2017-11-22 20:32:13 |+----+------------------+-------------- -------+1 पंक्ति में सेट (0.00 सेकंड)mysql> क्वेरी से ईवेंट दिखाएं\G************************** * 1. पंक्ति ************* Db:क्वेरी नाम:परीक्षण_इवेंट 5 निश्चित:रूट @ लोकलहोस्ट समय क्षेत्र:सिस्टम प्रकार:एक बार निष्पादित करें:2017-11-22 17:09:11 अंतराल मान:पूर्ण अंतराल फ़ील्ड:पूर्ण प्रारंभ:पूर्ण समाप्त:पूर्ण स्थिति:अक्षम उत्पत्ति:0character_set_client:cp850collation_connection:cp850_general_ci डेटाबेस संयोजन:latin1_swedish_ci1 सेट में पंक्ति (0.00 सेकंड)पूर्व>नीचे दी गई क्वेरी ON COMPLETION PRESERVE के उपयोग के साथ एक ईवेंट बनाएगी इसलिए इसे db_name से ईवेंट दिखाएं के आउटपुट में देखा जाएगा। क्वेरी।
mysql> क्रिएट इवेंट टेस्टिंग_इवेंट_विथ_शेड्यूल ऑन शेड्यूल ऑन CURRENT_TIMESTAMP ऑन कंप्लीटेशन प्रिजर्व DO INSERT INTOevent_messages(message,generated_at) Value('with Preserve', Now()); क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इवेंट_मैसेज से;+-----+---------------------+---------------------+ | आईडी | संदेश | Generate_at |+-----+---------------------+---------------------+| 1 | बिना परिरक्षित | 2017-11-22 20:32:13 || 2 | संरक्षित के साथ | 2017-11-22 20:35:12 |+----+-----------------------+-------------- -------+2 पंक्तियाँ सेट में (0.00 सेकंड)mysql> क्वेरी से ईवेंट दिखाएं\G************************** * 1. पंक्ति ************* Db:क्वेरी नाम:परीक्षण_इवेंट 5 निश्चित:रूट @ लोकलहोस्ट समय क्षेत्र:सिस्टम प्रकार:एक बार निष्पादित करें:2017-11-22 17:09:11 अंतराल मान:पूर्ण अंतराल फ़ील्ड:पूर्ण प्रारंभ:पूर्ण समाप्त:पूर्ण स्थिति:अक्षम उत्पत्ति:0character_set_client:cp850collation_connection:cp850_general_ci डेटाबेस संयोजन:latin1_swedish_ci********* ******** पंक्ति ************* Db:क्वेरी का नाम:test_event_with_Preserves Definer:root@localhost समय क्षेत्र:सिस्टम प्रकार:एक बार निष्पादित करें:2017-11-22 20:35:12 अंतराल मान:पूर्ण अंतराल फ़ील्ड:पूर्ण प्रारंभ:नल समाप्त:पूर्ण स्थिति:अक्षम प्रवर्तक:0character_set_client:cp850collation_connection:cp850_general_ci डेटाबेस संयोजन:latin1_swedish_ci2 पंक्तियों में सेट (0.00 सेकंड)