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
- Import
mysql.connectorvà các module lỗi - Thiết lập kết nối bằng
connect() - Tạo đối tượng con trỏ qua
cursor() - Thử thực thi truy vấn UPDATE và commit
- Nếu giao dịch thất bại, gọi
db.rollback() - Đó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!