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()
コメント