Textual SQL expression 'select t.trade_id,t.trace...' should be explicitly decla

140 阅读1分钟

报错问题:Textual SQL expression 'select t.trade_id,t.trace...' should be explicitly declared as text('select t.trade_id,t.trace...')

报错代码

with DBManager.get_instance().session_ctx('pay') as session:
    trade_id = 111111
    sql = "select t.id from table1 as t" \
          " left JOIN table2 as p ON t.trade_id=p.trade_id where t.trade_id='{0}'".format(trade_id)
    li = session.execute(sql).all()

修改代码

from sqlalchemy import text

with DBManager.get_instance().session_ctx('pay') as session:
    trade_id = 111111
    sql = "select t.id from table1 as t" \
          " left JOIN table2 as p ON t.trade_id=p.trade_id where t.trade_id='{0}'".format(trade_id)
    li = session.execute(text(sql)).all() #sql用text方法

问题原因(待验证)

blog.csdn.net/chenhepg/ar…