কম্পিউটার টিউটোরিয়াল

Python MySQL-এ rollback() মেথড কী এবং কীভাবে কাজ করে?

rollback() মেথড Python-এ ডেটাবেস ট্রানজ্যাকশন ম্যানেজমেন্টের একটি গুরুত্বপূর্ণ মেথড। এটি ডেটাবেসে করা শেষ পরিবর্তন বা কমিটকে পূর্বাবস্থায় ফিরিয়ে দেয়।

যদি কোনো ট্রানজ্যাকশন ব্যর্থ হয় বা ব্যবহারকারী পরিবর্তনগুলোতে সন্তুষ্ট না হয়, তবে rollback() কল করলে ডেটাবেস কমিট করার আগের অবস্থায় ফিরে যায়। এটি ডেটাবেসের ইন্টিগ্রিটি রক্ষায় খুব গুরুত্বপূর্ণ।

সিনট্যাক্স

db.rollback()

db হলো ডেটাবেস কানেকশন অবজেক্ট।

Python-এ MySQL ব্যবহার করে rollback() প্রয়োগের ধাপসমূহ

  1. MySQL কনেক্টর ইম্পোর্ট করুন
  2. connect() ব্যবহার করে কনেকশন স্থাপন করুন
  3. cursor() মেথড দিয়ে কার্সার অবজেক্ট তৈরি করুন
  4. আপডেট কোয়েরি এক্সিকিউট করুন এবং কমিট করার চেষ্টা করুন
  5. যদি ট্রানজ্যাকশন ব্যর্থ হয় তবে rollback() কল করুন
  6. কনেকশন বন্ধ করুন

উদাহরণ

নিচের কোড STUDENT টেবিলে Inder নামের ছাত্রের AGE আপডেট করার চেষ্টা করে। সফল হলে কমিট করে, ব্যর্থ হলে রোলব্যাক করে ডেটাবেসকে পূর্বাবস্থায় ফিরিয়ে দেয়।

import mysql.connector
from mysql.connector import Error

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)
    # পরিবর্তন কমিট
    db.commit()
    print("ডেটাবেস আপডেট হয়েছে!")
except mysql.connector.Error as error:
    print(f"ডেটাবেস আপডেট ব্যর্থ: {error}")
    # এক্সসেপশনের কারণে পরিবর্তন পূর্বাবস্থায় ফেরত
    db.rollback()

# ডেটাবেস থেকে ডিসকানেক্ট
db.close()

আউটপুট

ট্রানজ্যাকশন সফল হলে:

ডেটাবেস আপডেট হয়েছে!

ট্রানজ্যাকশন ব্যর্থ হলে:

ডেটাবেস আপডেট ব্যর্থ!
  1. JDBC-তে setAutoCommit() মেথডের ব্যবহার কী?

  2. MySQL ডেটাবেসে তারিখ সংরক্ষণ করার সবচেয়ে সহজ পদ্ধতি

  3. MySQL ডেটাবেসের জন্য সঠিক DATETIME ফরম্যাট কী?

  4. MySQL에서 데이터베이스의 테이블 개수 조회하기