在cur.executescript中传递变量

时间:2018-09-11 10:39:59

标签: python-3.x sqlite

当前,我有以下代码,用于检查数据库中是否存在表名"Company",然后使用给定的字段创建表。

cur.executescript('''
DROP TABLE IF EXISTS Company;
CREATE TABLE Company (
    id     INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
    name VARCHAR2  
)
''')

我想使此查询通用,而不是仅在查询中使用"Company",而是需要从列表中获取名称。在此示例中,是否可以在查询中传递变量而不是传递"Company"

谢谢!

1 个答案:

答案 0 :(得分:0)

不可能将变量表名(或列名)传递给sqlite。 (并且由于executescript仅接受一个参数,因此无法将变量传递给executescript。)

您可以在执行之前构建查询,然后将该变量传递给executescript

当然,如果您从列表中获取表名,似乎您也必须也采用列名!