Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Membuat Klausa MySQL IN dengan Selamat dengan Senarai dalam Python?

Bagaimana untuk Membuat Klausa MySQL IN dengan Selamat dengan Senarai dalam Python?

Patricia Arquette
Patricia Arquetteasal
2024-11-15 05:08:02241semak imbas

How to Safely Create MySQL IN Clauses with Lists in Python?

Mencipta Safe MySQL IN Klausa dengan Senarai

Apabila bekerja dengan pangkalan data MySQL dan Python, ia boleh berguna untuk meletupkan senarai untuk digunakan dalam klausa IN. Walau bagaimanapun, adalah penting untuk melakukan ini dengan selamat untuk mengelakkan kerentanan suntikan SQL.

Daripada membina rentetan yang mengandungi senarai nilai secara manual, kaedah pilihan ialah menggunakan mekanisme parameter pertanyaan. Ini membolehkan anda menghantar senarai terus kepada pemacu pangkalan data tanpa perlu mengendalikan sebarang petikan atau melarikan diri.

Begini cara anda boleh mencapainya:

format_strings = ','.join(['%s'] * len(list_of_ids))
cursor.execute("DELETE FROM foo.bar WHERE baz IN (" + format_strings + ")", tuple(list_of_ids))

Dengan menggunakan kaedah ini, anda boleh elakkan suntikan SQL dengan membenarkan MySQL mengendalikan parameterisasi pertanyaan. Data akan dimasukkan terus ke dalam pertanyaan tanpa sebarang prapemprosesan, memastikan keselamatan dan kecekapan.

Atas ialah kandungan terperinci Bagaimana untuk Membuat Klausa MySQL IN dengan Selamat dengan Senarai dalam Python?. 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