Python sqlite3 parameterized drop table

You cannot use parameters for table names nor column names.

Alternatively you could make it a two-step process, e.g.:

a_table_name = "table_a"
sql_stmt = f"""DROP TABLE {a_table_name}"""
self.conn.execute(sql_stmt)

And if you’re doing that you may want to explicitly specify which tables can be deleted…

TABLES_THAT_CAN_BE_DROPPED = ('table_a','table_b',)
if a_table_name in TABLES_THAT_CAN_BE_DROPPED:
    # use code snippet from above 
else:
    pass # handle creatively

Leave a Comment