我需要在python中執行一個SQL查詢,它在sqlite3中添加一個新列。ALTER TABLE sqlite:如何檢查列是否存在之前改變表?
問題是有時它已經存在。所以在執行查詢之前,我需要檢查列是否已經存在。
如果是這樣,那麼我不會執行查詢。
有沒有辦法在sqlite做到這一點?還是必須通過python代碼中的try-catch塊來完成它?
非常感謝!
我需要在python中執行一個SQL查詢,它在sqlite3中添加一個新列。ALTER TABLE sqlite:如何檢查列是否存在之前改變表?
問題是有時它已經存在。所以在執行查詢之前,我需要檢查列是否已經存在。
如果是這樣,那麼我不會執行查詢。
有沒有辦法在sqlite做到這一點?還是必須通過python代碼中的try-catch塊來完成它?
非常感謝!
IMO這個
conn = sqlite3.connect(':memory:')
c = conn.cursor()
try:
c.execute('ALTER TABLE mytable ADD COLUMN newcolumn;')
except:
pass # handle the error
c.close()
是比構造特例查詢更好的選擇。
你可以將上面的代碼包裝在一個AddColumn(遊標,表格,列)函數中,這樣你就可以重用它,再加上它會使代碼更具可讀性。
+1一個乾淨和簡單的答案 – 2011-08-24 14:38:43
這個問題被標記爲'python',但這並不告訴你如何在Python中做到這一點 – user5359531 2018-02-28 22:15:43