所以,我正在尝试做一个 SQLite 准备好的语句,如下所示:
定义
c.execute('''CREATE TABLE IF NOT EXISTS tab (
_id integer PRIMARY KEY AUTOINCREMENT,
obj text NOT NULL,
val int NOT NULL
) ;''')
我想执行以下准备好的语句:
list_of_vars=['foo','bar']
statement = "SELECT * FROM tab WHERE obj IN ({0}) AND val BETWEEN ? AND ?".format(', '.join(['?' * len(list_of_vars)]))
目前我对此的解决方案非常难看,我正在寻找一种更优雅的方式来做到这一点......
vals=list_of_vars
vals.append(0)
vals.append(100)
c.execute(statement, vals)
有什么想法吗?