Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python MySQL의 rollback() 메서드는 무엇입니까?

<시간/>

rollback() 메서드는 데이터베이스 트랜잭션을 만드는 데 사용되는 Python의 다양한 메서드 중 하나입니다.

여기에서는 rollback() 메서드에 대해 설명합니다.

rollback() 메서드는 데이터베이스에 대한 마지막 변경 또는 커밋을 되돌리는 데 사용됩니다. 사용자가 데이터베이스의 변경 사항에 만족하지 못하는 상황이 발생하거나 트랜잭션이 실패하면 rollback() 메서드를 작동하여 데이터베이스를 변경 사항을 커밋하기 전의 원래 상태로 되돌립니다. 이는 트랜잭션 실패 시 데이터베이스의 무결성을 유지하는 데 도움이 되기 때문에 매우 중요한 방법입니다.

구문

db.rollback()

db는 데이터베이스 연결 개체를 나타냅니다.

아래는 트랜잭션 실패 시 변경 사항을 되돌리기 위해 rollback()을 사용하는 것을 보여주는 예입니다.

파이썬에서 MySQL을 사용하여 테이블에서 실패한 트랜잭션을 롤백()하는 단계

  • MySQL 커넥터 가져오기

  • connect()를 사용하여 커넥터와 연결 설정

  • cursor() 메소드를 사용하여 커서 객체 생성

  • 업데이트 쿼리를 실행하고 변경 사항을 커밋하십시오.

  • 트랜잭션이 실패하면 트랜잭션을 롤백합니다.

  • 연결을 끊다

아래 코드는 STUDENT 테이블에서 Inder라는 학생의 AGE를 업데이트하려고 시도합니다. 트랜잭션이 성공하면 업데이트가 수행되고 그렇지 않으면 트랜잭션이 롤백되고 데이터베이스가 이전 상태로 복원됩니다.

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!