Rumah > pangkalan data > tutorial mysql > Mengapa Pernyataan Kemas Kini MySQL Python Saya Gagal, dan Bagaimana Saya Boleh Membetulkannya?

Mengapa Pernyataan Kemas Kini MySQL Python Saya Gagal, dan Bagaimana Saya Boleh Membetulkannya?

Mary-Kate Olsen
Lepaskan: 2024-11-08 13:26:02
asal
800 orang telah melayarinya

Why is My Python MySQL Update Statement Failing, and How Can I Fix It?

Membetulkan Kenyataan Kemas Kini MySQL Python dengan Pembolehubah

Dalam percubaan untuk mengemas kini rekod MySQL menggunakan pernyataan kemas kini Python, pengguna mungkin menghadapi ralat. Untuk menangani isu ini, adalah penting untuk mengesahkan sintaks dan memastikan penggunaannya yang betul.

Pernyataan Salah:

cursor.execute ("UPDATE tblTableName SET Year=%s" % Year ", Month=%s" % Month ", Day=%s" % Day ", Hour=%s" % Hour ", Minute=%s" Minute "WHERE Server=%s " % ServerID)
Salin selepas log masuk

Analisis:

Pernyataan yang salah gagal kerana penggabungan rentetan yang tidak betul dan pemegang tempat hilang untuk pembolehubah 'Minit'. Cara yang betul untuk menulis pernyataan ini ialah:

Pernyataan Betul:

cursor.execute ("""
   UPDATE tblTableName
   SET Year=%s, Month=%s, Day=%s, Hour=%s, Minute=%s
   WHERE Server=%s
""", (Year, Month, Day, Hour, Minute, ServerID))
Salin selepas log masuk

Sintaksis Alternatif:

Sebagai alternatif, manipulasi rentetan boleh digunakan:

cursor.execute ("UPDATE tblTableName SET Year=%s, Month=%s, Day=%s, Hour=%s, Minute=%s WHERE Server='%s' " % (Year, Month, Day, Hour, Minute, ServerID))
Salin selepas log masuk

Awas:

Walaupun sintaks alternatif mungkin berfungsi, ia amat tidak digalakkan kerana ia menyebabkan aplikasi anda terdedah kepada serangan suntikan SQL . Pendekatan yang disyorkan ialah menggunakan ruang letak, seperti yang dilihat dalam pernyataan yang betul.

Keserasian Pangkalan Data:

Selain itu, sesetengah bahagian belakang pangkalan data mungkin mempunyai konvensyen penggantian rentetan yang berbeza. Sebagai contoh, SQLite menggunakan '?' bukannya '%s' untuk ruang letak.

Atas ialah kandungan terperinci Mengapa Pernyataan Kemas Kini MySQL Python Saya Gagal, dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan