Rumah > Soal Jawab > teks badan
Saya mempunyai kod Python berikut:
cursor.execute("INSERT INTO table VALUES var1, var2, var3,")
di mana var1
是整数,var2
和 var3
ialah rentetan.
Bagaimana untuk menulis nama pembolehubah (sebagai sebahagian daripada teks pertanyaan) tanpa menggunakan Python?
P粉7181655402023-10-13 14:17:00
Pelaksanaan Python DB-API yang berbeza membenarkan pemegang tempat yang berbeza, jadi anda perlu mengetahui yang mana yang anda gunakan - mungkin (cth. menggunakan MySQLdb):
cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))
atau (contohnya, menggunakan sqlite3 daripada perpustakaan standard Python):
cursor.execute("INSERT INTO table VALUES (?, ?, ?)", (var1, var2, var3))
atau lain-lain (dalam VALUES
之后,您可以有 (:1, :2, :3)
或“命名样式” (:fee, : fie, :fo)
或 (%(fee)s, %(fie)s, %(fo)s)
,其中您将字典而不是映射作为第二个参数传递给执行
)。检查您正在使用的 DB API 模块中的 paramstyle
pemalar rentetan dan dalam http://www.python.org/dev/peps/pep-0249/ Lihat apakah semua gaya hantaran hujah!
P粉5216974192023-10-13 00:59:08
cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))
Perhatikan bahawa parameter dihantar dalam tuple, (a, b, c)
。如果您传递单个参数,则元组需要以逗号结尾,(a,)
.
API pangkalan data keluar dengan betul dan memetik pembolehubah. Berhati-hati untuk tidak menggunakan operator pemformatan rentetan (%
) kerana