如何解决flask中的“ mysql + pymysql”是什么意思
我想在Flask中使用MySQL,一个配置是
app.config['SQLALCHEMY_DATABASE_URI'] = "mysql+pymysql://user:password@127.0.0.1:3306/db"
如果我使用mysql+pymysql
,它可以工作
但是当我只使用mysql
时,这样的错误消息
Internal Server Error
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.
但是在我的代码中,我没有导入pymysql
,所以pymysql
是什么以及为什么需要使用才能起作用
我知道
pymysql
是一个模子
谢谢您的回复!
解决方法
The create_engine
function(使用配置中提供的URL),要求您给它“方言”。 A "dialect" is the name of the underlying database engine是SQLAlchemy所连接的。
但是,由于许多数据库具有多个不同的客户端(在Python中这些客户端实现DBAPI),因此在许多情况下(such as for the mysql dialect),您需要提供希望SQLAlchemy使用的客户端名称。在这种情况下,您要让它使用pymysql
库来实际处理与MySQL的连接。
SQLAlchemy 1.3支持以下方言/ DBAPI库以连接到MySQL:
- mysqlclient(MySQL-Python的维护分支)
- PyMySQL
- MySQL Connector / Python
- CyMySQL
- OurSQL
- Google Cloud SQL
- PyODBC
- zxjdbc for Jython
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。