paj*_*ton 5 python sqlite parameterized-query sql-drop
我在python中删除sqlite3表时遇到问题.我正在使用标准sqlite3模块.
self.conn = sqlite3.connect(...)
sql = """ drop table ? """
self.conn.execute( sql, (u'table_name',) )
Run Code Online (Sandbox Code Playgroud)
给我 OperationalError: near "?": syntax error
当我sql改为:
sql = """ drop table table_name """
Run Code Online (Sandbox Code Playgroud)
它工作正常.
您不能使用表名称或列名称的参数.
或者,您可以将其分为两个步骤,例如:
sql = """ drop table %s """ % a_table_name
self.conn.execute( sql )
Run Code Online (Sandbox Code Playgroud)
如果你这样做,你可能想要明确指定哪些表可以删除...
TABLES_THAT_CAN_BE_DROPPED = ('table_a','table_b',)
if a_table_name in TABLES_THAT_CAN_BE_DROPPED:
sql = """ drop table %s """ % a_table_name
self.conn.execute( sql )
else:
pass # handle creatively
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2154 次 |
| 最近记录: |