PythonのSQLite3でテーブルがあったら作成しないようにする

pythonのsqlite3ですでに存在するテーブルを作成しようとした場合、OperationalErrorが発生してプログラムが停止してしまいます。そうさせないためには、pythonのコードで制御する方法もありますが、SQL側で制御する方法が簡潔です。

スポンサーリンク

SQL文のif not existsを使う

SQL文のif not existsを使えばすでに存在するテーブルを作成しないようにすることができます。

conn = sqlite3.connect('database.sqlite')
c = conn.cursor()
c.execute('create table if not exists persons(id integer, name text, birthday)')

conn.commit()
conn.close()

コメント

タイトルとURLをコピーしました