Rumah >pangkalan data >tutorial mysql >Mengapa Kemas Kini Pangkalan Data MySQL Python Saya Tidak Mencerminkan?

Mengapa Kemas Kini Pangkalan Data MySQL Python Saya Tidak Mencerminkan?

Barbara Streisand
Barbara Streisandasal
2024-12-04 15:25:15599semak imbas

Why Aren't My Python MySQL Database Updates Reflecting?

Isu: Kemas Kini Pangkalan Data Automatik Tidak Berlaku dengan MySQL dan Python

Apabila cuba mengemas kini baris dalam pangkalan data MySQL melalui kod Python, pangkalan data tidak secara automatik mencerminkan perubahan. Apabila menanyakan pangkalan data secara langsung, ternyata kemas kini tidak berlaku.

Penyelesaian Kemungkinan

Isu ini mungkin berpunca daripada tidak melakukan transaksi dengan betul. MySQLdb melumpuhkan autocommit secara lalai. Menambah conn.commit() sebelum menutup sambungan akan memastikan bahawa perubahan disimpan secara kekal dalam pangkalan data.

Kod Diubahsuai

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()

Dengan melakukan transaksi sebelum menutup sambungan, kod tersebut harus berjaya mengemas kini pangkalan data dan mencerminkan perubahan apabila membuat pertanyaan secara langsung.

Atas ialah kandungan terperinci Mengapa Kemas Kini Pangkalan Data MySQL Python Saya Tidak Mencerminkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn