已解决:sqlalchemy.exc.ObjectNotExecutableError: Not an executable object‘……’的报错问题

问题场景:

在flask框架中连接数据库,并测试数据库是否连接成功

使用了mysql数据库和pymysql驱动

问题描述

in execute
    raise exc.ObjectNotExecutableError(statement) from err    
sqlalchemy.exc.ObjectNotExecutableError: Not an executable object: 'select 1'

这是错误的相关代码,在conn.execute()方法处抛出了错误

db=SQLAlchemy(app)
with app.app_context():
    with db.engine.connect() as conn:
        result = conn.execute("select 1")
        print(result.fetchone())

原因分析:

‘select 1’不是一个可执行的对象

解决方案:

文本sql的执行,需要使用sqlalchemy中的text()方法处理字符串,再执行语句

1、导入 from sqlalchemy import text

2、关键部分修改如下:

result = conn.execute(text("select 1"))

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
乘风的头像乘风管理团队
上一篇 2023年8月26日
下一篇 2023年8月26日

相关推荐