我需要使用db.execute来解决此问题,因此我想使用db.execute(SELECT * FROM a WHERE b LIKE %c%
。我希望c是一个变量
但是,它不起作用。
db.execute("SELECT title FROM movie WHERE title LIKE %a%", {"a": foo})
用:插入a不会更好。
db.execute("SELECT title FROM movie WHERE title LIKE %:a%", {"a": foo})
甚至
db.execute("SELECT title FROM movie WHERE title LIKE %b=:a%", {"a": foo})
预期结果是所有在任何地方包含术语foo的标题的列表
psycopg2.errors.SyntaxError: syntax error at or near "%"
LINE 1: SELECT title FROM movie WHERE title LIKE %a%
[SQL: SELECT title FROM movie WHERE title LIKE %%a%%]
(Background on this error at: http://sqlalche.me/e/f405)