Rumah >pangkalan data >tutorial mysql >Mengapa Kemas Kini MySQL Saya dalam Python Tidak Berkesan?

Mengapa Kemas Kini MySQL Saya dalam Python Tidak Berkesan?

Barbara Streisand
Barbara Streisandasal
2024-11-03 14:43:02809semak imbas

Why Aren't My MySQL Updates in Python Taking Effect?

Kemas Kini MySQL dalam Python: Menangani Kemas Kini Gagal

Apabila melaksanakan pertanyaan kemas kini MySQL dalam skrip Python, seseorang mungkin menghadapi isu di mana arahan kemas kini melaporkan pelaksanaan yang berjaya, tetapi jadual tetap tidak berubah. Untuk membetulkannya, adalah penting untuk memahami konsep urus niaga dan komitmen dalam MySQL.

Transaksi ialah satu set operasi yang dilaksanakan sebagai satu unit. Dalam MySQL, transaksi bermula apabila pertanyaan kemas kini dilaksanakan dan berakhir apabila transaksi dilakukan. Jika transaksi tidak dilakukan, sebarang perubahan yang dibuat semasa transaksi itu tidak kekal dan akan dibuang.

Untuk menangani isu yang diterangkan dalam soalan, langkah yang tiada ialah mengeluarkan arahan komit selepas pertanyaan kemas kini telah dilaksanakan. Arahan komit ini memberitahu pelayan MySQL bahawa semua perubahan yang dibuat dalam urus niaga harus disimpan secara kekal ke pangkalan data.

Coretan kod berikut menunjukkan penggunaan arahan komit:

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)

Oleh termasuk pernyataan dbb.commit(), semua perubahan yang dibuat dalam transaksi, termasuk kemas kini kepada jadual RadioGroups, akan disimpan secara kekal ke pangkalan data.

Atas ialah kandungan terperinci Mengapa Kemas Kini MySQL Saya dalam Python Tidak Berkesan?. 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