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

MySQL समवर्ती, यह कैसे काम करता है और क्या मुझे इसे अपने आवेदन में संभालने की ज़रूरत है?

SQL कथन परमाणु हैं। यानी, अगर आप कुछ इस तरह निष्पादित करते हैं:

UPDATE Cars SET Sold = Sold + 1

कोई भी Sold को बदल नहीं सकता इस कथन के दौरान परिवर्तनशील। यह हमेशा 1 से बढ़ता है, भले ही कोई अन्य व्यक्ति समान कथन को समवर्ती रूप से निष्पादित कर रहा हो।

समस्या तब होती है जब आपके पास ऐसे कथन होते हैं जो एक दूसरे पर निर्भर करते हैं:

a = SELECT Sold FROM Cars;
UPDATE Cars SET Sold = a + 1;

इन प्रश्नों के बीच, कोई अन्य उपयोगकर्ता कार तालिका को बदल सकता है और बिक गया अपडेट कर सकता है। इसे रोकने के लिए, इसे लेन-देन में लपेटें:

BEGIN;
a = SELECT Sold FROM Cars;
UPDATE Cars SET Sold = a + 1;
COMMIT;

लेन-देन InnoDB द्वारा समर्थित हैं, लेकिन MyISAM द्वारा नहीं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:कंप्यूटेड कॉलम

  2. PHP MySQL कनेक्शन हठ

  3. मैसकल स्लो क्वेरी:इनर जॉइन + ऑर्डर बाय फाइलसॉर्ट का कारण बनता है

  4. क्या एक टेबल में दो विदेशी कुंजियाँ हो सकती हैं?

  5. प्राथमिक/विदेशी कुंजी के रूप में चार का उपयोग नहीं कर रहा है?