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

MySQL कंस्ट्रेंट्स को कैसे संभालता है?


आइए समझते हैं कि MySQL कंस्ट्रेंट्स को कैसे संभालता है:

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

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

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

विदेशी कुंजी (Foreign Keys) टेबल्स के बीच डेटा को क्रॉस-रेफरेंस करने की अनुमति देती हैं, और विदेशी कुंजी कंस्ट्रेंट्स यह सुनिश्चित करने में मदद करते हैं कि यह फैला हुआ डेटा सुसंगत रहे।

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

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

रेफरेंशियल एक्शन

उपलब्ध रेफरेंशियल एक्शन हैं: RESTRICT, CASCADE, SET NULL, और NO ACTION।

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

ENUM

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


  1. Java से MySQL डेटाबेस में डेटा कैसे डिलीट करें? Java से MySQL डेटाबेस में डेटा कैसे डिलीट करें?

    JDBC का उपयोग करके MySQL से रिकॉर्ड डिलीट करें Java से MySQL में डेटा डिलीट करने के लिए, आप JDBC के साथ SQL DELETE कथन का उपयोग करते हैं। SQL सिंटैक्स DELETE FROM टेबल_नाम WHERE शर्त; पूर्ण Java उदाहरण 1. डेटाबेस तैयारी INSERT INTO DeleteTableDemo VALUES(101, Smith), (102, Johnson); 2. Java को

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

    MySQL में बूलियन डेटा प्रकार समझना MySQL 8.0.12 में बूलियन मानों को संभालने के लिए आप BOOL, BOOLEAN या TINYINT(1) का उपयोग कर सकते हैं। जब आप BOOL या BOOLEAN का उपयोग करते हैं, तो MySQL आंतरिक रूप से इसे TINYINT(1) में परिवर्तित कर देता है। बूलियन लिटरल का प्रतिनिधित्व BOOL या BOOLEAN डेटा प्रकार

  1. JDBC के साथ MySQL में बैकस्लैश को कैसे एस्केप करें? JDBC के साथ MySQL में बैकस्लैश को कैसे एस्केप करें?

    MySQL में JDBC का उपयोग करते समय बैकस्लैश (`\`) जैसे विशेष वर्णों को संभालने का सबसे सुरक्षित और अनुशंसित तरीका **PreparedStatement** का उपयोग करना है। यह SQL इंजेक्शन को रोकता है और स्वचालित रूप से एस्केप सीक्वेंस को सही ढंग से संभालता है। उदाहरण: PreparedStatement के साथ बैकस्लैश हैंडलिंग सबसे प