sqlalchemy.exc.ObjectNotExecutableError: Not an executable object: 'select 1'
问题
在flask框架中连接数据库,并测试数据库是否连接成功
使用了mysql数据库和pymysql驱动
问题描述
代码
db = SQLAlchemy(app) with app.app_context(): with db.engine.connect() as conn: rs = conn.execute('select 1') print(rs.fetchone()) # (1,)
抛出问题
原因分析
'select 1'不是一个可执行的对象
解决方案
文本sql的执行,需要使用sqlalchemy中的text()方法处理字符串,再执行语句
1、导入
from sqlalchemy import text
2、关键部分修改如下:
result = conn.execute(text("select 1"))