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

MYSQL, PHP डेटाबेस में एकाधिक तालिकाओं में सम्मिलित करें

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

यह एक समस्या है या नहीं यह एप्लिकेशन लॉजिक पर निर्भर करता है। आपके मामले में अतिरिक्त जानकारी के बिना बताना मुश्किल है। शायद ऩही। एक वित्तीय लेनदेन जिसमें दो खाते शामिल हैं, एक उदाहरण है जहां यह है एक समस्या:आप नहीं चाहते कि किसी भी समय सभी खाते की शेष राशि का योग गलत हो।

यदि आपको लगता है कि आपको इसकी आवश्यकता है, तो आप प्रदर्शन की कीमत पर ऑपरेशन को परमाणु बना सकते हैं:दूसरा प्रोग्राम या तो पहले इंसर्ट से पहले या दूसरे इंसर्ट के बाद डेटाबेस को देखेगा। यह इस तरह काम करता है:

$result = FALSE;
if (mysql_query('BEGIN')) {
    if (mysql_query($query1) &&
        mysql_query($query2))
        $result = mysql_query('COMMIT'); // both queries looked OK, save
    else
        mysql_query('ROLLBACK'); // problems with queries, no changes
}

स्टोरेज इंजन को लेन-देन का समर्थन करना होता है, यानी, इसे InnoDB . अन्यथा यह चुपचाप काम नहीं करेगा।



  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. .NET . में एक MySQL डेटाबेस से कनेक्ट करना

  3. Laravel classloader.php त्रुटि स्ट्रीम खोलने में विफल:ऐसी कोई फ़ाइल या निर्देशिका नहीं

  4. मैसकल क्वेरी डुप्लिकेट वर्डप्रेस टिप्पणियों को हटाने के लिए?

  5. MySQL - एक INSERT कथन के अंदर एक स्ट्रिंग मान को DATETIME प्रारूप में कैसे पार्स करें?