84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
Ich habe den folgenden Python-Code:
cursor.execute("INSERT INTO table VALUES var1, var2, var3,")
wobei var1 是整数,var2 和 var3 eine Zeichenfolge ist.
var1
var2
var3
Wie schreibe ich Variablennamen (als Teil des Abfragetextes), ohne Python zu verwenden?
Python DB-API 的不同实现允许使用不同的占位符,因此您需要找出您正在使用的占位符 - 可能是(例如使用 MySQLdb):
cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))
或(例如,使用 Python 标准库中的 sqlite3):
cursor.execute("INSERT INTO table VALUES (?, ?, ?)", (var1, var2, var3))
或其他(在 VALUES 之后,您可以有 (:1, :2, :3) 或“命名样式” (:fee, : fie, :fo) 或 (%(fee)s, %(fie)s, %(fo)s) ,其中您将字典而不是映射作为第二个参数传递给执行)。检查您正在使用的 DB API 模块中的 paramstyle 字符串常量,并在 http://www.python.org/dev/peps/pep-0249/ 查看所有参数传递样式是什么!
VALUES
(:1, :2, :3)
(:fee, : fie, :fo)
(%(fee)s, %(fie)s, %(fo)s)
执行
paramstyle
请注意,参数以元组形式传递,(a, b, c)。如果您传递单个参数,则元组需要以逗号结尾,(a,)。
(a, b, c)
(a,)
数据库 API 对变量进行正确的转义和引用。注意不要使用字符串格式化运算符(%),因为
%
Python DB-API 的不同实现允许使用不同的占位符,因此您需要找出您正在使用的占位符 - 可能是(例如使用 MySQLdb):
或(例如,使用 Python 标准库中的 sqlite3):
或其他(在
VALUES
之后,您可以有(:1, :2, :3)
或“命名样式”(:fee, : fie, :fo)
或(%(fee)s, %(fie)s, %(fo)s)
,其中您将字典而不是映射作为第二个参数传递给执行
)。检查您正在使用的 DB API 模块中的paramstyle
字符串常量,并在 http://www.python.org/dev/peps/pep-0249/ 查看所有参数传递样式是什么!请注意,参数以元组形式传递,
(a, b, c)
。如果您传递单个参数,则元组需要以逗号结尾,(a,)
。数据库 API 对变量进行正确的转义和引用。注意不要使用字符串格式化运算符(
%
),因为