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

पायथन MySQL में रोलबैक () विधि क्या है?

रोलबैक () विधि पायथन में विभिन्न तरीकों में से एक है जिसका उपयोग डेटाबेस लेनदेन करने के लिए किया जाता है।

यहां, हम रोलबैक () विधि के बारे में चर्चा करेंगे।

रोलबैक () विधि का उपयोग डेटाबेस में किए गए अंतिम परिवर्तन या कमिट को वापस करने के लिए किया जाता है। यदि ऐसी स्थिति उत्पन्न होती है कि उपयोगकर्ता डेटाबेस में किए गए परिवर्तनों से संतुष्ट नहीं है, या यदि लेनदेन विफल हो जाता है, तो डेटाबेस को उसकी मूल स्थिति में लाने के लिए रोलबैक () विधि संचालित की जाती है जो परिवर्तन करने से पहले थी। यह एक बहुत ही महत्वपूर्ण तरीका है क्योंकि यह किसी भी लेनदेन की विफलता के मामले में डेटाबेस की अखंडता को बनाए रखने में मदद करता है।

सिंटैक्स

db.rollback()

db डेटाबेस कनेक्शन ऑब्जेक्ट को संदर्भित करता है।

लेन-देन विफल होने की स्थिति में परिवर्तनों को वापस करने के लिए रोलबैक () के उपयोग को दिखाने के लिए नीचे एक उदाहरण दिया गया है।

पायथन में MySQL का उपयोग करके तालिका में विफल लेनदेन को रोलबैक () करने के लिए कदम

  • MySQL कनेक्टर आयात करें

  • कनेक्ट का उपयोग करके कनेक्टर के साथ कनेक्शन स्थापित करें ()

  • कर्सर () विधि का उपयोग करके कर्सर ऑब्जेक्ट बनाएं

  • अद्यतन क्वेरी निष्पादित करने और परिवर्तन करने का प्रयास करें

  • यदि लेन-देन विफल हो जाता है, तो लेन-देन को रोलबैक करें

  • कनेक्शन बंद करें

उदाहरण

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

import mysql.connector
from mysql.connector import Error
from mysql.connector import errorcode

try:
   db = mysql.connector.connect(
      host ='localhost',
      database ='database_name',
      user ='user_name'
      password='your_password',
   )

   cs = db.cursor()
   query ="UPDATE STUDENT SET AGE = 23 WHERE Name ='Inder'"
   cs.execute(query)

   # commit changes to the database
   db.commit()

   # update successful message
   print("Database Updated !")

except mysql.connector.Error as error :
   # update failed message as an error
   print("Database Update Failed !: {}".format(error))

   # reverting changes because of exception
   db.rollback()

# Disconnecting from the database
db.close()

आउटपुट

यदि लेन-देन सफल होता है

Database Updated!

यदि लेन-देन विफल हो जाता है

Database Update Failed!

  1. MySQL डेटाबेस में तारीख को स्टोर करने का सबसे आसान तरीका क्या है?

    MySQL में तारीख को स्टोर करने के लिए, STR_TO_DATE() विधि का उपयोग करें - अपनेTableName मानों में डालें(STR_TO_DATE(yourDate, %d/%m/%Y)); आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable(AdmissionDate date);query OK, 0 Rows प्रभावित (0.62 sec) इंसर्ट कमांड का उपयोग करके टेबल में रिकॉर्ड डालें - डेमो

  1. एक MySQL डेटाबेस के लिए सही दिनांक समय प्रारूप क्या है?

    MySQL डेटाबेस के लिए सही डेटाटाइम प्रारूप इस प्रकार है - YYYY-MM-DD HH:M:SS आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable797 ( ArrivalDatetime datetime);क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.68 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable797 मानों में डालें (2017-03-

  1. डेटाबेस में तालिकाओं की संख्या प्रदर्शित करने के लिए MySQL क्वेरी क्या है?

    मान लें, मैं यहां वेब डेटाबेस का उपयोग कर रहा हूं। हमें डेटाबेस वेब में तालिकाओं की संख्या ज्ञात करने की आवश्यकता है। इसके लिए MySQL में INFORMATION_SCHEMA.TABLES का उपयोग करें। तालिकाओं की संख्या प्रदर्शित करने के लिए क्वेरी निम्नलिखित है - जहां table_schema=web; यह निम्नलिखित आउटपुट देगा - +---