在PostgreSQL表中插入值中带有撇号的数组

问题描述 投票:0回答:1

我有一个带有SQL插入语句的Python脚本,该语句将已解析的数据从文件插入到PostgreSQL表中。如果数据带有撇号,则执行失败。详细信息:

    <name>RYAZAN'</name>
or
    <name>CHYUL'BYU</name>

我是字符串时找到了解决方案->在撇号中添加额外的',以便在INSERT语句中将其转换为'RYAZAN''''CHYUL''BYU'

但是如果我的值在列表中(来自python脚本),例如city = ["RYAZAN''", "CHYUL''BYU"],Python会自动将双引号而不是单引号引起来。结果是尝试插入

INSERT INTO City (uuid, name) VALUES (uuid_generate_v4(), unnest(array{city}))

SQL失败并出现错误

ERROR: column "RYAZAN''.." does not exist

因为sql读取双引号作为列名或其他名称。是否可以使用包含撇号的值插入ARRAY?

sql python-3.x postgresql quotes double-quotes
1个回答
0
投票

尝试使用$$ dollar-quoted strings

dollar-quoted strings
© www.soinside.com 2019 - 2024. All rights reserved.