Синтаксис заполнителей Python MySQLdb - PullRequest
2 голосов
/ 27 марта 2010

Я хотел бы использовать заполнители, как показано в этом примере:

cursor.execute ("""
    UPDATE animal SET name = %s
    WHERE name = %s
    """, ("snake", "turtle"))

За исключением того, что я хотел бы, чтобы запрос представлял собой собственную переменную, поскольку мне нужно вставить запрос в несколько баз данных, например:

query = """UPDATE animal SET name = %s
           WHERE name = %s
           """, ("snake", "turtle"))
cursor.execute(query)
cursor2.execute(query)
cursor3.execute(query)

Каков будет правильный синтаксис для подобных действий?

1 Ответ

4 голосов
/ 27 марта 2010
query = """UPDATE animal SET name = %s
           WHERE name = %s
           """
values = ("snake", "turtle")

cursor.execute(query, values)
cursor2.execute(query, values)

или если вы хотите сгруппировать их вместе ...

arglist = [query, values]
cursor.execute(*arglist)
cursor2.execute(*arglist)

но, вероятно, это будет более читабельным, если вы сделаете это первым способом.

...