Python MySQLdb占位符语法

时间:2010-03-27 02:47:01

标签: python mysql pylons

我想使用占位符,如下例所示:

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 个答案:

答案 0 :(得分:4)

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)

但是第一种方式可能更具可读性。