【发布时间】:2015-10-12 17:32:52
【问题描述】:
psycopg2 和 PostgreSQL 的新手,我正在尝试创建一个函数,给定一个字符串,它将搜索我的数据库中包含该字符串的所有条目。
到目前为止,我有:
def search(searchString):
""" Let's user search by string for any snippet containing that string """
logging.info("Searching for snippet by string: {!r}".format(searchString))
with connection, connection.cursor() as cursor:
cursor.execute("select * from snippets where message like (%s)", searchString)
searchResults = cursor.fetchall()
return searchResults
假设在我的数据库中,我有许多包含字符串“testME”的字符串。在命令行中,当我尝试$ python myscript.py search 'testME' 搜索数据库中包含单词“testME”的所有字符串时,将返回数据库中“testME”的条目,而不是任何其他包含字符串的条目'考验我'。我在这里做错了什么?
【问题讨论】:
-
看起来您实际上并没有搜索任何内容,因为 '%%' 只是将文字 % 插入到查询中。我会尝试改用“%%%s%%”。
标签: python sql postgresql python-2.7 psycopg2