【发布时间】:2018-06-13 22:26:54
【问题描述】:
我想使用 Flask 连接到 MySQL 数据库。以下是我的代码:
app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_USER'] = 'admin'
app.config['MYSQL_PASSWORD'] = '********'
app.config['MYSQL_DB'] = 'abc'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://admin:********@localhost/abc'
api = Api(app)
db = SQLAlchemy(app)
ma = Marshmallow(app)
db.create_all()
class Video(db.Model):
id = db.Column(db.Integer, primary_key=True)
videoid = db.Column(db.String(80), unique=True)
video_timestamp = db.Column(db.Integer, unique=True)
def __init__(self, videoid, video_timestamp):
self.videoid = videoid
self.video_timestamp = video_timestamp
我遇到了这个错误:
sqlalchemy.exc.ProgrammingError: (pymysql.err.ProgrammingError) (1146, "表 'abc.video' 不存在") [SQL: 'SELECT video.id AS video_id, video.videoid AS video_videoid, video.video_timestamp AS video_video_timestamp \nFROM video']
我知道如何连接SQLite数据库,但是连接MySQL数据库似乎很难?
有人可以帮帮我吗?
【问题讨论】:
-
不是 100% 确定,是不是您在声明
Video模型之前调用了db.create_all()? -
我尝试删除这一行并在 终端 我尝试打开 python3 并使用以下代码:
from my_app import db但它不起作用 -
到底是怎么回事?
标签: python mysql flask flask-sqlalchemy