Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Phương thức rollback() trong Python MySQL


Giới thiệu

Phương thức rollback() dùng để hoàn tác thay đổi cuối cùng hoặc commit vừa thực hiện trên cơ sở dữ liệu. Nếu giao dịch thất bại hoặc người dùng không hài lòng với thay đổi, rollback() sẽ khôi phục trạng thái cơ sở dữ liệu về trước khi commit. Đây là phương thức quan trọng để đảm bảo tính toàn vẹn dữ liệu.

Cú pháp

db.rollback()

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

Các bước thực hiện

  1. Import mysql.connector và các module lỗi
  2. Thiết lập kết nối bằng connect()
  3. Tạo đối tượng con trỏ qua cursor()
  4. Thử thực thi truy vấn UPDATE và commit
  5. Nếu giao dịch thất bại, gọi db.rollback()
  6. Đóng kết nối

Ví dụ minh họa

Cập nhật AGE của sinh viên tên 'Inder' trong bảng STUDENT. Nếu thành công thì commit, thất bại thì rollback:

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 thay đổi
    db.commit()
    print("Cơ sở dữ liệu đã được cập nhật!")
except mysql.connector.Error as error:
    print("Cập nhật cơ sở dữ liệu thất bại!: {}".format(error))
    # Hoàn tác do ngoại lệ
    db.rollback()

# Ngắt kết nối
db.close()

Kết quả

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

Cơ sở dữ liệu đã được cập nhật!

Nếu giao dịch thất bại:

Cập nhật cơ sở dữ liệu thất bại!