0
我有一个查询,我知道作品:SQLAlchemy的 - 字符串替换为复杂的查询
SELECT title FROM paper WHERE MATCH (title) AGAINST ('+exact +representations' IN BOOLEAN MODE)
这将返回与两个词“精确”和“交涉”的任何文件。使用的SQLAlchemy的字符串替换,我做的:
keyword = '+exact +representations'
sql = 'SELECT title FROM paper WHERE MATCH (title) AGAINST (:keyword IN BOOLEAN MODE)'
conn = db.engine.connect()
t = conn.execute(text(sql), keyword=keyword)
这不匹配只是这两个关键字的文件。相反,它会用任何一个词返回论文。
我的猜测是SQLAlchemy在其预处理步骤中正在修复keyword
。我怎样才能使用SQLAlchemy的字符串替换功能,但仍然做我想要的?
启用查询记录'create_engine(...,echo = True)'查看发送给MySQL的查询。 – plaes
你是否试过用'AGAINST(“:关键字”IN',你原来的SQL在引号中用你的替换引用。 –
@NigelRen占位符替换将正确处理引用,不需要手动引用,这是主要卖点 –