Python의 MySQL 업데이트: 실패한 업데이트 해결
Python 스크립트에서 MySQL 업데이트 쿼리를 실행할 때 업데이트 명령이 실행되는 문제가 발생할 수 있습니다. 성공적인 실행을 보고하지만 테이블은 변경되지 않은 상태로 유지됩니다. 이를 바로잡기 위해서는 MySQL의 트랜잭션과 커밋의 개념을 이해하는 것이 중요합니다.
트랜잭션은 단일 단위로 실행되는 작업 집합입니다. MySQL에서는 업데이트 쿼리가 실행될 때 트랜잭션이 시작되고 트랜잭션이 커밋될 때 종료됩니다. 트랜잭션이 커밋되지 않은 경우 해당 트랜잭션 중 변경된 내용은 영구적이지 않으며 삭제됩니다.
질문에 설명된 문제를 해결하기 위해 누락된 단계는 업데이트 쿼리가 완료된 후 커밋 명령을 실행하는 것입니다. 실행. 이 커밋 명령은 트랜잭션 내에서 이루어진 모든 변경 사항이 데이터베이스에 영구적으로 저장되어야 함을 MySQL 서버에 알립니다.
다음 코드 조각은 커밋 명령의 사용을 보여줍니다.
import MySQLdb dbb = MySQLdb.connect(host="localhost", user="user", passwd="pass", db="database") try: curb = dbb.cursor() curb.execute("UPDATE RadioGroups SET CurrentState=1 WHERE RadioID=11") dbb.commit() # Commit the transaction print("Row(s) were updated :" + str(curb.rowcount)) curb.close() except MySQLdb.Error as e: print("Query failed") print(e)
By dbb.commit() 문을 포함하여 RadioGroups 테이블 업데이트를 포함하여 트랜잭션 내에서 이루어진 모든 변경 사항은 데이터베이스에 영구적으로 저장됩니다.
위 내용은 Python의 MySQL 업데이트가 적용되지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!