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佔位符替換將正確處理引用,不需要手動引用,這是主要賣點 –