Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

क्या MySQL पर एक परमाणु ऑपरेशन सम्मिलित/अद्यतन शामिल है?

मैं आपके प्रश्न को समझता हूं जैसे "क्या उनमें से प्रत्येक प्रश्न अपने आप में एक परमाणु ऑपरेशन है?"। तो उत्तर "हाँ" है। अन्य दो उत्तर सही हैं, जब वे कहते हैं कि आपके सभी कथन एक साथ परमाणु नहीं हैं।

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

लेन-देन केवल आपके डेटाबेस को एक से अधिक कथनों को एक कथन के रूप में मानने के लिए कहते हैं। जब कोई एक कथन विफल हो जाता है, तो उन सभी को वापस ले लिया जाता है।

यहां एक महत्वपूर्ण संबंधित विषय है अलगाव स्तर . आप उनके बारे में पढ़ना चाहेंगे।

संपादित करें (टिप्पणी का उत्तर देने के लिए):

सही बात है। जब तक यह एक वैध कथन है और कोई बिजली की विफलता नहीं होती है या अन्य कारणों से कोई क्वेरी विफल हो सकती है, यह किया जा रहा है। परमाणुता अपने आप में सिर्फ इस बात की गारंटी देती है कि बयान किया जा रहा है या नहीं। यह पूर्णता की गारंटी देता है और वह डेटा दूषित नहीं है (क्योंकि एक लेखन कार्य समाप्त नहीं हुआ या कुछ और)। यह आपको डेटा के सही होने की गारंटी नहीं देता है। INSERT INTO foo SELECT MAX(id) + 1 FROM bar; जैसी क्वेरी को देखते हुए आपको सही अलगाव स्तर . सेट करके सुनिश्चित करना होगा , ताकि आपको प्रेत पाठ या कुछ भी न मिले।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पूर्ण पाठ खोज हमेशा खाली परिणाम सेट लौटाता है

  2. Php सत्र और लॉगिन पृष्ठ में समस्याएं पोस्ट करें

  3. NameError:mysql में परिवर्तन सेट करने के बाद नाम '_mysql' परिभाषित नहीं किया गया है

  4. ऐप को बंद किए बिना एंड्रॉइड लिस्टव्यू अपडेट/रीफ्रेश डेटा

  5. पायथन:टुपल को अल्पविराम से अलग स्ट्रिंग में बदलें