我试图将变量start
传递到我的execute语句中,以从数据库中获取一个单独的子弹号,但是无法弄清楚如何传递它。我之所以这样设置我的方法,是因为我可能会执行几个不同的查询,而又不想一堆重复的代码。
loc
答案 0 :(得分:1)
我通常是这样
sql = """SELECT slug FROM auctions WHERE location = %(loc_name)s
"""
cursor.execute(sql, {"loc_name": loc,})
将值作为字典传递。感觉更安全和整洁:)
如果“有时”您需要所有子弹,而“有时”您需要根据位置的特定子弹
if loc: #check if there is loc value
sql = """SELECT slug FROM auctions WHERE location = %(loc_name)s"""
cursor.execute(sql, {"loc_name": loc,})
else:
sql = """SELECT slug FROM auctions"""
cursor.execute(sql)
可以,但是感觉有更好的写作风格..嗯..