ALTER TABLE Sqlite: how to check if a column exists before alter the table?

前端 未结 3 2031
名媛妹妹
名媛妹妹 2021-01-02 23:59

I need to execute in python a SQL query that adds a new column, in sqlite3.

The problem is that sometimes it already exists. So previous to executing the query I ne

3条回答
  •  悲哀的现实
    2021-01-03 00:38

    IMO this

    conn = sqlite3.connect(':memory:')
    c = conn.cursor()
    try:
        c.execute('ALTER TABLE mytable ADD COLUMN newcolumn;')
    except:
        pass # handle the error
    c.close()
    

    is a better choice than constructing special case queries.

    You can wrap the above code in a AddColumn(cursor, table, column) function so you can reuse it,
    plus it'll make the code more readable.

提交回复
热议问题