Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เมธอด rollback() ใน Python MySQL คืออะไร


เมธอด rollback() เป็นหนึ่งในเมธอดของ Python ใช้สำหรับการทำธุรกรรมฐานข้อมูล (Database Transactions)

rollback() ใช้ย้อนกลับการเปลี่ยนแปลงหรือการ commit ล่าสุดที่ทำไปที่ฐานข้อมูล หากผู้ใช้ไม่พอใจกับการเปลี่ยนแปลง หรือธุรกรรมล้มเหลว ให้ใช้ rollback() เพื่อคืนฐานข้อมูลสู่สภาพเดิมก่อน commit วิธีนี้สำคัญมากในการรักษาความสมบูรณ์ของข้อมูลเมื่อธุรกรรมล้มเหลว

ไวยากรณ์

db.rollback()

db คือออบเจ็กต์การเชื่อมต่อฐานข้อมูล

ขั้นตอนใช้ rollback() เมื่อธุรกรรมล้มเหลวในตารางด้วย MySQL ใน Python

  • นำเข้า MySQL Connector

  • สร้างการเชื่อมต่อด้วย connect()

  • สร้างออบเจ็กต์ cursor ด้วย cursor()

  • ลองรันคำสั่ง UPDATE และ commit การเปลี่ยนแปลง

  • หากธุรกรรมล้มเหลว ให้ rollback()

  • ปิดการเชื่อมต่อ

ตัวอย่าง

โค้ดลองอัปเดตอายุของนักเรียนชื่อ Inder ในตาราง STUDENT หากสำเร็จจะ commit หากล้มเหลวจะ 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 การเปลี่ยนแปลง
    db.commit()
    print("Database Updated!")
except mysql.connector.Error as error:
    print("Database Update Failed!: {}".format(error))
    # ย้อนกลับการเปลี่ยนแปลงเนื่องจากข้อผิดพลาด
    db.rollback()

# ปิดการเชื่อมต่อ
db.close()

ผลลัพธ์

หากธุรกรรมสำเร็จ:

Database Updated!

หากธุรกรรมล้มเหลว:

Database Update Failed!