programing

Python mySQL Update, 작동 중이지만 테이블 업데이트는 안 함

powerit 2023. 9. 25. 23:10
반응형

Python mySQL Update, 작동 중이지만 테이블 업데이트는 안 함

mysql 데이터베이스를 업데이트해야 하는 python 스크립트가 있습니다. 지금까지 가지고 있습니다.

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")
   print "Row(s) were updated :" +  str(curb.rowcount)
   curb.close()
except MySQLdb.Error, e:
   print "query failed<br/>"
   print e  

대본이 인쇄됩니다.Row(s) were updated :정확한 숫자의 행들과 함께.RadioID11개의. 만약에 제가.RadioID표에 없는 다른 숫자에게 그것은 말할 것입니다.Row(s) were updated :0. 하지만 데이터베이스는 실제로 업데이트되지 않습니다.CurrentState필드는 그대로 유지됩니다.SQL 문을 복사하여 PHPMyAdmin에 붙여넣으면 정상적으로 작동합니다.

사용하다

dbb.commit()

끝나고

curb.execute ("UPDATE RadioGroups SET CurrentState=1 WHERE RadioID=11")

mysql 서버에 '로딩'한 모든 변경 사항을 커밋합니다.

@Lazykiddy가 지적한 것처럼, 변경 사항을 mysql에 로드한 후 커밋해야 합니다.

MySQL 연결 초기화 직후에 자동 커밋 설정을 활성화하기 위해 다음 방법을 사용할 수도 있습니다.

dbb.autocommit(True)

그러면 코드 실행 중에 변경한 내용이 자동으로 커밋됩니다.

두 개의 답이 맞습니다.그러나 다음을 수행할 수도 있습니다.

dbb = MySQLdb.connect(host="localhost", 
   user="user", 
   passwd="pass", 
   db="database",
   autocommit=True) 

autocommit=True 추가

언급URL : https://stackoverflow.com/questions/15271907/python-mysql-update-working-but-not-updating-table

반응형