วิธีการ rollback() เป็นหนึ่งในวิธีการต่างๆ ใน Python ที่ใช้ในการทำธุรกรรมฐานข้อมูล
ในที่นี้ เราจะพูดถึงเมธอด rollback()
วิธีการย้อนกลับ () ใช้เพื่อย้อนกลับการเปลี่ยนแปลงล่าสุดหรือกระทำกับฐานข้อมูล หากเงื่อนไขเกิดขึ้นโดยที่ผู้ใช้ไม่พอใจกับการเปลี่ยนแปลงที่ทำกับฐานข้อมูล หรือหากธุรกรรมล้มเหลว จะใช้เมธอด rollback() เพื่อนำฐานข้อมูลกลับสู่สถานะเดิมซึ่งเคยเป็นก่อนทำการเปลี่ยนแปลง นี่เป็นวิธีการที่สำคัญมากเพราะช่วยรักษาความสมบูรณ์ของฐานข้อมูลในกรณีที่ธุรกรรมล้มเหลว
ไวยากรณ์
db.rollback()
db หมายถึงอ็อบเจ็กต์การเชื่อมต่อฐานข้อมูล
ด้านล่างนี้เป็นตัวอย่างเพื่อแสดงการใช้การย้อนกลับ () เพื่อย้อนกลับการเปลี่ยนแปลงในกรณีที่ธุรกรรมล้มเหลว
ขั้นตอนในการย้อนกลับ () ธุรกรรมที่ล้มเหลวในตารางโดยใช้ MySQL ใน python
-
นำเข้าตัวเชื่อมต่อ MySQL
-
สร้างการเชื่อมต่อกับตัวเชื่อมต่อโดยใช้ connect()
-
สร้างวัตถุเคอร์เซอร์โดยใช้เมธอด cursor()
-
พยายามรันการสืบค้นข้อมูลอัพเดตและคอมมิตการเปลี่ยนแปลง
-
หากธุรกรรมล้มเหลว ให้ย้อนกลับธุรกรรม
-
ปิดการเชื่อมต่อ
ตัวอย่าง
รหัสด้านล่างพยายามอัปเดต AGE ของนักเรียนชื่อ Inder ในตารางนักเรียน หากธุรกรรมสำเร็จ จะมีการอัพเดตมิฉะนั้นธุรกรรมจะถูกย้อนกลับและฐานข้อมูลจะกลับสู่สถานะก่อนหน้า
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!