Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Melaksanakan Kenyataan Kemas Kini Python MySQL dengan Betul?

Bagaimana untuk Melaksanakan Kenyataan Kemas Kini Python MySQL dengan Betul?

Patricia Arquette
Patricia Arquetteasal
2024-11-08 10:11:02429semak imbas

How to Correctly Execute Python MySQL Update Statements?

Membetulkan Kenyataan Kemas Kini MySQL Python

Apabila cuba melaksanakan kenyataan kemas kini dalam MySQL menggunakan Python, anda mungkin menghadapi ralat disebabkan sintaks yang salah. Begini cara untuk menyelesaikan isu tersebut:

Pernyataan yang disediakan memerlukan beberapa pengubahsuaian untuk berfungsi dengan 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))
  1. Gunakan pertanyaan berparameter: Gantikan penggabungan rentetan dengan pertanyaan berparameter untuk mengelakkan kelemahan suntikan SQL. Pemegang tempat (%s) digunakan untuk menggantikan pembolehubah.
  2. Sertakan semua pembolehubah: Pastikan semua pembolehubah yang disebut dalam klausa SET turut hadir dalam tuple yang dihantar kepada kaedah execute().
  3. Sertakan pertanyaan dalam petikan tiga kali ganda: Gunakan petikan tiga kali ganda (""") untuk menjangkau pertanyaan pada berbilang baris untuk kebolehbacaan.
  4. Alih keluar ruang tambahan: Alih keluar sebarang ruang yang tidak diperlukan daripada pertanyaan.

Sebagai alternatif, anda juga boleh menggunakan manipulasi rentetan asas, tetapi pendekatan ini tidak digalakkan kerana potensi risiko keselamatan:

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

Walaupun kaedah ini berfungsi, ia mudah terdedah kepada serangan suntikan SQL Oleh itu, sangat disyorkan untuk menggunakan pertanyaan berparameter atas sebab keselamatan.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Kenyataan Kemas Kini Python MySQL 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