心理复制2单引号例外

2022-04-14 00:00:00 python psycopg2 sql

问题描述

我在我的应用程序中使用了心理拷贝2。一切都很好,但如下所示:当我插入一个数据包括单引号‘时,python抛出以下异常:

<class 'psycopg2.ProgrammingError'>: syntax error at or near "s"

内容如"儿童主页"

我找不到解决此问题的解决方案。我使用的是如下的python字符串文字:

"""INSERT INTO table (field_name) VALUES ('%s');"""
我捕获异常并返回查询。我从posgtre shell运行这个查询,它运行得很好。%的%。

解决方案

旧线程,但在阅读本文后,我找到了此问题的解决方案。删除单引号通常不起作用,因为字符串可能包含空格。如果是这种情况,您可以通过在字符串中添加另一个单引号来转义引号,就在现有单引号后面:string.replace("'", "''"),因此

儿童主页

将变为

儿童主页

因此它将尝试插入"""INSERT INTO table (field_name) VALUES ('Kid''s page');"""

相关文章