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

MySQL बाधाओं से कैसे निपटता है?


आइए समझें कि MySQL कैसे बाधाओं से निपटता है -

MySQL हमें ट्रांजेक्शनल टेबल (जो रोलबैक की अनुमति देता है) और गैर-लेन-देन टेबल (जो रोलबैक की अनुमति नहीं देता) के साथ काम करने में मदद करता है। यही कारण है कि अन्य डीबीएमएस की तुलना में MySQL में बाधाओं को संभालना अलग है। गैर-लेनदेन डेटाबेस में, यदि कई पंक्तियों को सम्मिलित या अद्यतन करते समय कोई त्रुटि होती है, तो इसे वापस नहीं किया जा सकता है। इस मामले को सही तरीके से हैंडल करना होगा।

MySQL सर्वर प्रश्नों के लिए एक त्रुटि उत्पन्न करता है, जिसे यह त्रुटियों के रूप में पता लगाता है, जब एक कथन को पार्स करने की आवश्यकता होती है जिसे निष्पादित करने की आवश्यकता होती है। एक बार त्रुटि का पता चलने के बाद, यह स्टेटमेंट को निष्पादित करते समय त्रुटियों से उबरने का प्रयास करता है। यह अभी तक सभी कथनों के लिए नहीं किया गया है।

MySQL या तो बीच में स्टेटमेंट को रोक सकता है या उससे रिकवर कर सकता है और एरर होने पर जारी रख सकता है। डिफ़ॉल्ट रूप से, सर्वर इससे ठीक हो जाता है और जारी रहता है।

विदेशी कुंजियाँ सभी तालिकाओं के डेटा में क्रॉस-रेफ़रिंग की अनुमति देती हैं, और विदेशी कुंजी बाधाएँ यह सुनिश्चित करने में मदद करती हैं कि यह स्प्रेड-आउट डेटा सुसंगत बना रहे।

विदेशी कुंजी संदर्भ

MySQL ON UPDATE और ON DELETE विदेशी कुंजी संदर्भों को CREATE TABLE और ALTER TABLE स्टेटमेंट में सपोर्ट करता है।

संदर्भात्मक कार्रवाइयां

उपलब्ध रेफ़रेंशियल क्रियाएं हैं- प्रतिबंधित, कैस्केड, सेट न्यूल, और कोई कार्रवाई नहीं।

NO ACTION डिफ़ॉल्ट रेफ़रेंशियल एक्शन है।

ENUM

एक ENUM मान वह होना चाहिए जो कॉलम परिभाषा में सूचीबद्ध हो, या आंतरिक संख्यात्मक समकक्ष हो। मान एक त्रुटि मान (0 या खाली स्ट्रिंग) नहीं हो सकता। ENUM ('ए', 'बी', 'सी') के रूप में परिभाषित कॉलम के लिए, 'ए', 'बी', या 'के अलावा अन्य मान c', जैसे '', 'd', या 'ax' को अमान्य माना जाता है और अस्वीकार कर दिया जाता है।


  1. जावा के साथ एक MySQL डेटाबेस में डेटा कैसे हटाएं?

    DELETE कमांड की मदद से MySQL डेटाबेस से डेटा डिलीट करें। वाक्य रचना इस प्रकार है। अपनेटेबलनाम से हटाएं जहां स्थिति हो; मैं जावा प्रोग्रामिंग भाषा की मदद से एक MySQL डेटाबेस से डेटा हटा दूंगा। सबसे पहले, एक टेबल बनाएं और कुछ रिकॉर्ड डालें। तालिका बनाने के लिए निम्नलिखित क्वेरी है। );क्वेरी ओके, 0 प

  1. PHP और MySQL में 'बूलियन' मानों से कैसे निपटें?

    हम MySQL संस्करण 8.0.12 का उपयोग कर रहे हैं। आइए पहले MySQL संस्करण की जाँच करें: संस्करण का चयन करें ();+---------------+| वर्जन () |+-----------+| 8.0.12 |+-----------+1 पंक्ति सेट में (0.00 सेकंड) MySQL में बूलियन से निपटने के लिए, आप BOOL या BOOLEAN या TINYINT(1) का उपयोग कर सकते हैं। यदि आप B

  1. JDBC के साथ MySQL में बैकस्लैश से कैसे बचें?

    बैकस्लैश से बचने के लिए, रिकॉर्ड डालते समय रेडीस्टेडमेंट का उपयोग करें। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1904 ( ClientId int, ClientName varchar(20), ClientAge int );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) जावा कोड इस प्रकार है - आयात करें रेडीस्टेडमेंट पीएस =शून्य; कोशिश करें {c