前提・実現したいこと
DB Browser for SQliteで作成したテーブルに、Flaskで作成したWEBAPIからアクセスしたい、という事が実現したいことです。
作成したデータベース(sample.sqlite3)は、WEBAPI(main.py)と同じディレクトリに保存されています。
発生している問題・エラーメッセージ
以下が、エラーメッセージです。
File "C:\Users\tasoj\Desktop\Web_API_Test\main.py", line 27, in index cur = db.execute("select * from mydata") sqlite3.OperationalError: no such table: mydata
該当のソースコード
Python
1from flask import Flask, app, jsonify, g 2import sqlite3 3 4app = Flask(__name__) 5#JSONでの日本語の文字化け阻止 6app.config['JSON_AS_ASCII'] = False 7 8#DBに接続 9def get_db(): 10 if 'db' not in g: 11 g.db = sqlite3.connect("sample.sqlite3") 12 return g.db 13#DBとの接続を終了 14def close_db(e=None): 15 db = g.pop('db', None) 16 if db is not None: 17 db.close() 18 19@app.route('/', methods=["GET"]) 20def index(): 21 mydata = [] 22 db = get_db() 23 cur = db.execute("select * from mydata") 24 mydata = cur.fetchall() 25 return jsonify(mydata)
試したこと
SQLiteで作成したテーブルは、次のように作成しました。
スキーマ
CREATE TABLE "mydata" ( "id" INTEGER, "name" TEXT NOT NULL, "tag" TEXT, "message" TEXT, PRIMARY KEY("id" AUTOINCREMENT) )
どのようにしたら、テーブルにアクセスできるようになるのかご教授いただければ幸いです。
回答2件
あなたの回答
tips
プレビュー