作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在对 postgresql 数据库执行选择查询,在获取这些结果后,我将这些结果附加到列表中,然后将该列表作为另一个 postgresql 选择查询的输入。
但是由于将这些值转换为列表,它将带有撇号(特殊字符)cat's
的值转换为双引号 "cat's"
。在执行第二个选择查询时,未获取带双引号的值,因为数据库中不存在带双引号的值,它没有双引号 cat's
。
在那里它给我错误,值不存在。
我尝试过 JSON 转储方法,但它不起作用,因为我无法将 JSON 列表转换为元组并将其作为 postgresql 选择查询的输入
select_query = """select "Unique_Shelf_Names" from "unique_shelf" where category = 'Accessory'"""
cur.execute(select_query)
count = cur.fetchall()
query_list = []
for co in count:
for c in co:
query_list.append(c)
query_list
的输出:
query_list = ['parrot', 'dog', "leopard's", 'cat', "zebra's"]
现在这个查询列表
被转换成元组并作为另一个选择查询的输入。
list2 = tuple(query_list)
query = """select category from "unique_shelf" where "Unique_Shelf_Names" in {} """.format(list2)
cur.execute(query)
这就是它给我错误的地方 "leopard's"doesn't exist
但在数据库中 leopard's 存在。
我希望 query_list
中的所有值都是双引号,这样就不会出现此错误。
最佳答案
不要使用format
来构造查询。只需使用 %s
并将元组传递给 execute
query = """select category from "unique_shelf" where "Unique_Shelf_Names" in %s """
cur.execute(query,(list2,))
关于python-3.x - 如何将带有单引号和双引号的列表值放入 Postgresql Select Query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55739537/
我是一名优秀的程序员,十分优秀!