データベースでさまざまなことをやろうとしています。接続してデータを引き出したり、データを出し入れしたりしましたが、問題はありません。他の問題をデバッグしていたところ、突然、データベース テーブルから何も取得できなくなりました。「OperationalError: no such table: article」が表示されます。
私は本当にここで困惑しています - これは問題なく動作していました。問題なくデータベースにクエリを実行し、データを挿入していました。その後、突然このエラーが発生しました。エラーが表示される直前に行った変更は、まったく無関係のように見えます。変更を元に戻しても、このエラーが発生します。エラーが発生するスクリプトの開始点は次のとおりです。
import sqlite3
database='mydatabase'
db=sqlite3.connect(database)
c=db.cursor()
sql_command='SELECT id FROM article'
idlist=c.execute(sql_command)
そのデータベースを SQLite Administrator で開き、テーブルがそこにあることを確認できます。さらに、以前は機能していました。また、テーブルがそこにあることを確認しようとしました:
>>c.execute('select name from sqlite_master where type="table"').fetchall()
[]
だから何かが本当に奇抜です。
また、db接続とカーソルを閉じて再度開いてみました。Python セッションを閉じます。サイコロはありません。ヘルプ!