Python sqlite3 parameterized drop table

后端 未结 2 1490
-上瘾入骨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:26

    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
    
    0 讨论(0)
  • 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
    
    0 讨论(0)
提交回复
热议问题