วิธีการ 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!