#エラー内容
sqlite3.OperationalError: no such table: (テーブル名)themes
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
#結論:ただの誤字
ごめんなさい綴りミスでした。
エラー解決のメモ残したかったのに!!!
よくあるから気をつけろ自分!!!!