Python sqlite3 parameterized drop table

后端 未结 2 1491
-上瘾入骨i
-上瘾入骨i 2020-12-04 01:58

I have a problem with dropping sqlite3 table in python. I am using standard sqlite3 module.

self.conn = sqlite3.connect(...)

sql = \"\"\" drop         


        
2条回答
  •  执笔经年
    2020-12-04 02:52

    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_name
    self.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
    

提交回复
热议问题