Maison > Questions et réponses > le corps du texte
J'ai le code Python suivant :
cursor.execute("INSERT INTO table VALUES var1, var2, var3,")
où var1
是整数,var2
和 var3
est une chaîne.
Comment écrire des noms de variables (dans le cadre du texte d'une requête) sans utiliser Python ?
P粉7181655402023-10-13 14:17:00
Différentes implémentations de l'API Python DB autorisent différents espaces réservés, vous devrez donc savoir lequel vous utilisez - probablement (par exemple en utilisant MySQLdb) :
cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))
ou (par exemple, en utilisant sqlite3 de la bibliothèque standard Python) :
cursor.execute("INSERT INTO table VALUES (?, ?, ?)", (var1, var2, var3))
ou autre (dans VALUES
之后,您可以有 (:1, :2, :3)
或“命名样式” (:fee, : fie, :fo)
或 (%(fee)s, %(fie)s, %(fo)s)
,其中您将字典而不是映射作为第二个参数传递给执行
)。检查您正在使用的 DB API 模块中的 paramstyle
constantes de chaîne et dans http://www.python.org/dev/peps/pep-0249/ Voyez quels sont tous les styles de transmission d'arguments !
P粉5216974192023-10-13 00:59:08
cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))
Notez que les paramètres sont transmis sous forme de tuples, (a, b, c)
。如果您传递单个参数,则元组需要以逗号结尾,(a,)
.
L'API de base de données échappe et cite correctement les variables. Attention à ne pas utiliser d'opérateurs de formatage de chaîne (%
) car