我是一个postgres新手,在使用Python查询postgresql中的文本字段时遇到了一些问题。允许我从“postgres”数据库的“jivemessage”表中搜索“body”列内容的正确语法是什么?你知道吗
try:
conn = psycopg2.connect("dbname='postgres' user='postgres' host='localhost' password='<password>'")
except:
print "cannot connect"
i = 'test'
cur = conn.cursor()
cur.execute('SELECT * from jivemessage WHERE body LIKE "%'+i+'%"')
不断出现以下错误:
ProgrammingError: column "%test%" does not exist
谢谢你的帮助。你知道吗
您没有正确引用查询。这里不要使用字符串连接,而是使用SQL parameters:
这里,
%s
占位符向数据库驱动程序发出信号,表示在查询时应该将第二个参数的第一个值放在那里。你知道吗这将插值留给数据库驱动程序,使数据库有机会对查询进行一次优化,即使您要重用相同的查询。你知道吗
它还可以比您自己更好地防止SQL注入攻击,最重要的是,可以保证遵循正确的引用规则。你知道吗
相关问题 更多 >
编程相关推荐