Python在postgresql表中查找带单引号的字符串
·
问题:Python在postgresql表中查找带单引号的字符串
我需要从我的 psql 表中查找包含多个单引号的字符串。我目前的解决方案是用双单引号替换单引号,如下所示:
sql_query = f"""SELECT exists (SELECT 1 FROM {table_name} WHERE my_column = '{my_string.replace("'","''")}' LIMIT 1);"""
cursor = connection.cursor()
cursor.execute(sql_query)
这种格式有更好的解决方案吗?
解答
我通过这样的查询解决了这个问题
sql_query = f"""SELECT exists (SELECT 1 FROM {table_name} WHERE my_column = %s LIMIT 1);"""
cursor = connection.cursor()
cursor.execute(sql_query, (mystring,))
在这种情况下,它会格式化mystring,使其不会作为 sql 查询执行,也不会导致问题中提到的问题
更多推荐
所有评论(0)