2010-03-27 37 views
2

我想使用占位符如下例所示:Python的MySQLdb的占位符语法

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) 

什么是适当的语法做这样的事情?

回答

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) 

但它可能是更具可读性做到这一点的第一种方式。