LoginSignup
4
3

More than 1 year has passed since last update.

sqlite3.OperationalErrorが出た

Last updated at Posted at 2020-05-26

#エラー内容
sqlite3.OperationalError: no such table: (テーブル名)themes
sqlite3error.png

File "/Users/<ユーザー名>/<フォルダ名>/app.py", line 92, in remind
Open an interactive python shell in this frame

c.execute("select theme from themes where id = ?", (theme_id,))

#誤字確認せよ!
最初にいうと、私のエラーは誤字が原因でした。

テーブル名from themes
だけでなく
データベース接続のdb名conn = sqlite3.connect("service.db")
も確認しましょう。

#テーブルはあるのに
service.dbのなかにちゃんとthemesテーブルは既に作ってある。

#データベースが無い?
Help!! sqlite3.OperationalError: no such table: users (英語)
「作業ディレクトリが何であるかを気にせずに、データベースファイルへの相対パスを使用している可能性があります。」
「同じフォルダにあるかどうかは関係ありません。相対パスは、作業ディレクトリからの相対パスであり、参照先のファイルではありません。データベースファイルが存在しない場合でも、sqliteは文句を言わず、空のデータベースを提供します。」
という回答を見つけた。

空のデータベース!?
接続するデータベースが見つからない場合、その名前のデータベースを自動で作るらしい。
文句を言わず(エラーを吐かず)。
見つからないのがおかしいんだけど、
確かにFinderで見ても、VScodeで見ても、空のデータベースがあるorz

#接続先データベースの指定ミス!

conn = sqlite3.connect("service.db")

が間違っているのかも。ここで嫌な予感。

conn = sqlite3.connect("servise.db")

servi s e

#結論:ただの誤字
ごめんなさい綴りミスでした。

エラー解決のメモ残したかったのに!!!
よくあるから気をつけろ自分!!!!

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3