Maison > Questions et réponses > le corps du texte
P粉7812356892023-08-22 15:40:51
Différentes implémentations Python DB-API autorisent différents espaces réservés, vous devez donc savoir lequel vous utilisez -- par exemple (en utilisant MySQLdb) :
cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))
Ou (en utilisant sqlite3 de la bibliothèque standard Python) :
cursor.execute("INSERT INTO table VALUES (?, ?, ?)", (var1, var2, var3))
ou d'autres manières (dans VALUES
之后,你可以使用(:1, :2, :3)
,或者使用"named styles" (:fee, :fie, :fo)
或者 (%(fee)s, %(fie)s, %(fo)s)
,在这种情况下,你需要将一个字典作为第二个参数传递给execute
函数)。检查你正在使用的DB API模块中的paramstyle
constantes de chaîne, et consultez paramstyle sur http://www.python.org/dev/peps/pep-0249/pour toutes les façons de transmettre des paramètres !
P粉7636623902023-08-22 15:33:14
cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))
Veuillez noter que les paramètres sont transmis sous forme de tuple, (a, b, c)
。如果您只传递一个参数,元组需要以逗号结尾,(a,)
.
L'API de la base de données échappera et citera correctement les variables. Faites attention à ne pas utiliser d'opérateurs de formatage de chaîne (%
) car