問題:MySQL 和Python 不會自動更新資料庫
當嘗試透過Python 程式碼更新MySQL 資料庫中的行時,資料庫不會自動反映更改。直接查詢資料庫,顯然沒有發生更新。
可能的解決方案
問題可能源自於未正確提交交易。 MySQLdb 預設會停用自動提交。在關閉連線之前新增 conn.commit() 將確保變更永久儲存在資料庫中。
修改的程式碼
import MySQLdb conn=MySQLdb.connect(host="localhost", user="root", passwd="pass", db="dbname") cursor=conn.cursor() cursor.execute("UPDATE compinfo SET Co_num=4 WHERE ID=100") conn.commit() # Commit the changes to the database cursor.execute("SELECT Co_num FROM compinfo WHERE ID=100") results = cursor.fetchall() for row in results: print row[0] print "Number of rows updated: %d" % cursor.rowcount cursor.close() conn.close()
透過先前提交交易關閉連接,程式碼應該會成功更新資料庫並在直接查詢時反映變更。
以上是為什麼我的 Python MySQL 資料庫更新沒有反映?的詳細內容。更多資訊請關注PHP中文網其他相關文章!