Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Melaksanakan Pernyataan Kemas Kini MySQL dengan Pembolehubah dalam Python dengan betul?

Bagaimanakah Saya Melaksanakan Pernyataan Kemas Kini MySQL dengan Pembolehubah dalam Python dengan betul?

DDD
DDDasal
2024-11-08 19:46:02453semak imbas

How Do I Correctly Execute a MySQL Update Statement with Variables in Python?

Perangkap yang Perlu Dielakkan: Membetulkan Pernyataan Kemas Kini MySQL Python dengan Pembolehubah

Apabila cuba melaksanakan kenyataan kemas kini MySQL dalam Python, adalah penting untuk memastikan yang betul sintaks dan pengendalian data. Soalan ini menyerlahkan ralat khusus yang dibuat dalam pernyataan yang salah.

Pernyataan Salah:

Kod awal yang diberikan mengalami beberapa isu:

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

Ralat dan Pengubahsuaian:

  1. Kekurangan Tanda Petikan: Keseluruhan pernyataan hendaklah disertakan dalam tanda petikan tiga atau dua untuk menunjukkan rentetan berbilang baris.
  2. Sintaks Koma Salah: Apabila menggunakan berbilang tugasan, koma harus memisahkan pembolehubah dan bukan rentetan nilai.
  3. Hujah Hilang: Nilai "Minit" tiada nama pembolehubahnya selepas koma.

Pernyataan yang Dibetulkan:

Sintaks yang betul untuk pernyataan kemas kini ialah:

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

Pilihan lain melibatkan manipulasi rentetan asas:

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

Nota Awas:

Walaupun kaedah yang terakhir berfungsi, adalah dinasihatkan untuk mengelakkan amalan ini disebabkan oleh potensi kelemahan suntikan SQL. Pendekatan yang disyorkan ialah menggunakan penggantian parameter seperti yang ditunjukkan dalam contoh pertama.

Atas ialah kandungan terperinci Bagaimanakah Saya Melaksanakan Pernyataan Kemas Kini MySQL dengan Pembolehubah dalam Python dengan betul?. 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