我正在尝试查询我的PostgreSQL数据库。
我认为我的查询格式错误,并且似乎无法正常工作,我在下面发布了我的代码:
query = cur.execute('SELECT "KINASE_NAME" FROM public."Phosphosite_table"
WHERE "GENE_NAME" LIKE %(genename)s AND "RESIDUE" LIKE %(location)s')
目的是使激酶名称与基因名称和位置匹配。
我的错误消息显示如下:
ProgrammingError Traceback (most recent call last)
<ipython-input-33-9eae43b913d6> in <module>()
35 cur = connection.cursor()
36
---> 37 query = cur.execute('SELECT "KINASE_NAME" FROM public."Phosphosite_table" WHERE "GENE_NAME" LIKE%(genename)s AND "RESIDUE" LIKE %(location)s')
谢谢!
康纳
答案 0 :(得分:1)
不要使用字符串操作来构建SQL查询。 Use the proper %s
syntax。
genname = "foo"
location = "bar"
cur.execute("SELECT ... LIKE %s and ... LIKE %s", (genname, location))
在值周围不能使用引号。引用将由DB API库完成。