首頁 >資料庫 >mysql教程 >為什麼我的 Python MySQL 資料庫更新沒有反映?

為什麼我的 Python MySQL 資料庫更新沒有反映?

Barbara Streisand
Barbara Streisand原創
2024-12-04 15:25:15678瀏覽

Why Aren't My Python MySQL Database Updates Reflecting?

問題: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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn