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

MySQL ट्रिगर निष्पादन के दौरान होने वाली त्रुटियों को कैसे संभालता है?

यदि ट्रिगर निष्पादन के दौरान कोई त्रुटि होती है, तो MySQL इसे निम्न प्रकार से संभालता है:

  • यदि BEFORE ट्रिगर विफल होता है, तो संबंधित पंक्ति पर ऑपरेशन नहीं किया जाता है।
  • एक BEFORE ट्रिगर पंक्ति को सम्मिलित या संशोधित करने के प्रयास से सक्रिय होता है, चाहे वह प्रयास बाद में सफल हो या नहीं।
  • एक AFTER ट्रिगर केवल तभी निष्पादित होता है जब कोई BEFORE ट्रिगर और पंक्ति ऑपरेशन सफलतापूर्वक निष्पादित होते हैं।
  • BEFORE या AFTER ट्रिगर के दौरान होने वाली त्रुटि के परिणामस्वरूप उस पूरे स्टेटमेंट की विफलता होती है जिसके कारण ट्रिगर आह्वान हुआ था।
  • लेन-देनीय तालिकाओं के लिए, स्टेटमेंट की विफलता से उस स्टेटमेंट द्वारा किए गए सभी परिवर्तनों का रोलबैक होना चाहिए। ट्रिगर की विफलता से स्टेटमेंट विफल होता है, इसलिए ट्रिगर विफलता भी रोलबैक का कारण बनती है। गैर-लेन-देनीय तालिकाओं के लिए, ऐसा रोलबैक नहीं किया जा सकता, इसलिए भले ही स्टेटमेंट विफल हो, त्रुटि के बिंदु से पहले किए गए कोई भी परिवर्तन प्रभावी रहते हैं।
  1. - MySQL ट्रिगर कैसे बनाएं और उपयोग करें?

    एक नया ट्रिगर बनाने के लिए, हमें CREATE TRIGGER स्टेटमेंट का उपयोग करना होगा। इसका सिंटैक्स निम्नानुसार है - CREATE TRIGGER trigger_name trigger_time trigger_event ON table_name FOR EACH ROW BEGIN ... END; यहाँ, Trigger_name ट्रिगर का नाम है जिसे CREATE TRIGGER स्टेटमेंट के बाद रखा जाना चाहिए। ट

  1. - MySQL में PRINT स्टेटमेंट कैसे अनुकरण करें?

    SELECT स्टेटमेंट का उपयोग MySQL में PRINT स्टेटमेंट नहीं है (T-SQL/SQL Server के विपरीत)। संदेश/मान प्रदर्शित करने के लिए SELECT का उपयोग करें। सिंटैक्स SELECT anyStringValue AS ; AS (खाली एलियास) कॉलम हेडर छुपाता है। उदाहरण केस 1: स्ट्रिंग प्रिंट करें SELECT HELLO MYSQL AS ; +-------------+ |

  1. - MySQL में दिनों की संख्या कैसे गिनें?

    MySQL में DATE() फ़ंक्शन और GROUP BY के साथ SUM() का उपयोग करके आप प्रत्येक दिनांक के लिए मानों का योग प्राप्त कर सकते हैं, जो दिन-वार गिनती या योग रिपोर्ट के लिए उपयोगी है। उदाहरण तालिका बनाना CREATE TABLE DemoTable ( ShippingDate DATETIME, CountOfDate INT ); डेटा डालना (एक ही दिनांक के