sqlite3で新しい列を追加するSQLクエリをPythonで実行する必要があります。
問題は、それがすでに存在する場合があるということです。したがって、クエリを実行する前に、列がすでに存在するかどうかを確認する必要があります。
もしそうなら、私はクエリを実行しません。
sqliteにそれを行う方法はありますか?または、Pythonコードのtry-catchブロックを通過する必要がありますか?
よろしくお願いします!
次のステートメントを使用して、テーブルの列のリストを取得できます。
PRAGMA table_info('table_name');
プラグマ コマンドの詳細については、sqlite の Web サイトを参照してください。
いもこれ
conn = sqlite3.connect(':memory:')
c = conn.cursor()
try:
c.execute('ALTER TABLE mytable ADD COLUMN newcolumn;')
except:
pass # handle the error
c.close()
特殊なケースのクエリ を作成するよりも適切な選択です。
上記のコードを AddColumn(cursor, table, column) 関数でラップして再利用できるようにすると
、コードが読みやすくなります。