Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Melewati Nama Jadual dengan Selamat sebagai Parameter dalam psycopg2?
Dalam psycopg2, membina pertanyaan dengan parameter dinamik boleh menyebabkan masalah, seperti yang ditunjukkan dalam kod yang disediakan. Adalah sangat disyorkan untuk tidak menggunakan penggabungan rentetan dalam kod yang diberikan.
Menggunakan modul SQL psycopg2
Psycopg2 menyediakan penyelesaian dengan modul SQLnya yang diperkenalkan dalam versi 2.7. Modul ini membantu dalam menjana pertanyaan secara dinamik termasuk parameter nama jadual. Sintaksnya adalah seperti berikut:
<code>from psycopg2 import sql # 示例:使用动态表名插入数据 cur.execute( sql.SQL("insert into {table} values (%s, %s)") .format(table=sql.Identifier('my_table')), [10, 20])</code>
Kepentingan parameterisasi yang betul
Adalah penting untuk ambil perhatian bahawa lebih disukai untuk menggunakan modul SQL psycopg2 daripada manipulasi rentetan Python atau interpolasi parameter rentetan. Dokumentasi secara eksplisit memberi amaran terhadap penggunaan kaedah ini kerana ia boleh memperkenalkan kelemahan dan menjejaskan integriti pangkalan data.
Untuk maklumat lanjut tentang modul SQL, sila rujuk dokumentasi rasmi: https://www.php.cn/link/9a0f86604fa1dc1686a0cad86a808a5c:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melewati Nama Jadual dengan Selamat sebagai Parameter dalam psycopg2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!