心理复制2单引号例外
问题描述
我在我的应用程序中使用了心理拷贝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');"""
相关文章