Computer >> Máy Tính >  >> Lập trình >> Python

Phương thức rollback () trong Python MySQL là gì?

Phương thức rollback () là một trong những phương thức khác nhau trong Python được sử dụng để thực hiện các giao dịch cơ sở dữ liệu.

Ở đây, chúng ta sẽ thảo luận về phương thức rollback ().

Phương thức rollback () được sử dụng để hoàn nguyên thay đổi hoặc cam kết cuối cùng được thực hiện cho cơ sở dữ liệu. Nếu một điều kiện phát sinh khiến người dùng không hài lòng với những thay đổi được thực hiện đối với cơ sở dữ liệu hoặc nếu giao dịch không thành công, thì phương thức rollback () sẽ được vận hành để đưa cơ sở dữ liệu về trạng thái ban đầu trước khi thực hiện các thay đổi. Đây là một phương pháp rất quan trọng vì nó giúp duy trì tính toàn vẹn của cơ sở dữ liệu trong trường hợp có bất kỳ lỗi giao dịch nào.

Cú pháp

db.rollback()

db đề cập đến đối tượng kết nối cơ sở dữ liệu.

Dưới đây là một ví dụ cho thấy việc sử dụng rollback () để hoàn nguyên các thay đổi trong trường hợp giao dịch không thành công.

Các bước để khôi phục () giao dịch không thành công trong bảng sử dụng MySQL trong python

  • nhập trình kết nối MySQL

  • thiết lập kết nối với trình kết nối bằng connect ()

  • tạo đối tượng con trỏ bằng phương thức cursor ()

  • cố gắng thực hiện truy vấn cập nhật và thực hiện các thay đổi

  • Nếu giao dịch không thành công, thì hãy khôi phục giao dịch sau

  • đóng kết nối

Ví dụ

Đoạn mã dưới đây cố gắng cập nhật TUỔI của một học sinh có tên là Inder trong bảng STUDENT. Nếu giao dịch thành công, quá trình cập nhật sẽ được thực hiện nếu không giao dịch sẽ được khôi phục và cơ sở dữ liệu được khôi phục về trạng thái trước đó.

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()

Đầu ra

Nếu giao dịch thành công

Database Updated!

Nếu giao dịch không thành công

Database Update Failed!