【发布时间】:2023-03-06 05:49:01
【问题描述】:
我正在尝试创建一个函数来删除当前数据库中的所有表。 这就是我所拥有的:
def drop_tables (self):
cur.execute ("SELECT name FROM sqlite_master WHERE type='table';")
tlist = cur.fetchall()
with conn:
for t in tlist:
cur.execute ('DROP TABLE ?;', t[0])
这会产生以下错误:
File "/storage/sdcard0/com.hipipal.qpyplus/.last_tmp.py", line 170, in drop_tables
cur.execute ('DROP TABLE ?;', t[0])
sqlite3.OperationalError: near "?": syntax error
这是一个 sqlite3 错误,而不是 python 错误。我不能像这样使用光标替代品吗?有没有其他方法可以实现这一点?其他然后删除数据库? (而且我不知道 DROP 是否需要“with”语句,但无论如何我都会收到错误消息)
谢谢
【问题讨论】:
标签: python-3.x sqlite