【发布时间】:2020-10-04 08:03:33
【问题描述】:
我正在尝试在我的 Flask 应用程序中运行 SQL 查询来搜索数据库。但是,当我运行查询时出现错误:
db.execute("SELECT * FROM books WHERE author LIKE '%:author%' ", {"author":query})
产生的错误是这样的(在我的输入中传递了“汤姆”):
sqlalchemy.exc.ProgrammingError: (psycopg2.errors.SyntaxError) syntax error at or near "Tom"
LINE 1: SELECT * FROM books WHERE author LIKE '%'Tom'%'
^
[SQL: SELECT * FROM books WHERE author LIKE '%%%(author)s%%' ]
[parameters: {'author': 'Tom'}]
(Background on this error at: http://sqlalche.me/e/f405)
我已经用硬编码值测试了查询,它工作正常。我想知道是什么导致了错误以及如何解决它。
【问题讨论】:
标签: sql flask sqlalchemy where-clause sql-like