Python sqlite3 parameterized drop table Python sqlite3 parameterized drop table sqlite sqlite

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.:

sql = """ drop table %s """ % a_table_nameself.conn.execute( sql )

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:    sql = """ drop table %s """ % a_table_name    self.conn.execute( sql )else:    pass # handle creatively


To insert with more variables, below is an example

cursor.execute("INSERT INTO {0}(var_name)VALUES({1});".format('table_name','"var_value"')) # Note the double quotes of var_value, which is necessary