例外の再現
import sqlite3
con = sqlite3.connect('test.sqlite3')
cur = con.cursor()
cur.execute('create table yutai(column1 , column2)')
---------------------------------------------------------------------------
OperationalError Traceback (most recent call last)
セル11 を c:\xxx\test.ipynb in <cell line: 4>()
2 con = sqlite3.connect('yuutai.sqlite3')
3 cur = con.cursor()
----> 4 cur.execute('create table yutai(test1 ,test2)')
OperationalError: table yutai already exists
原因
google翻訳で調べると、OperationalError: テーブル xxx は既に存在しますと表示されます。
テーブルを作成した後に同じテーブルを作成しようとする発生するみたいですね。
解決方法
import sqlite3
con = sqlite3.connect('test.sqlite3')
cur = con.cursor()
cur.execute('create table IF NOT EXISTS yutai(column1 , column2)')
create tableの後に 「 IF NOT EXISTS 」を記述する。
データベースに同じテーブル名が存在していても例外が発生しなくなりました。