这是我在我的postgresql数据库上运行的sql代码。原来是导致错误的原因
INSERT INTO t1(
group1
)
VALUES
("GIRL''S 16'" AND LESS BIKE");
但是如果我删除16'之后的双引号,它就可以正常工作。 因此,我想知道是否有一种方法可以保留双引号,但又可以成功将其插入表中?
答案 0 :(得分:2)
如果您删除"
之一,我认为它不会很好,因为那将是非法的SQL。
字符串始终必须用单引号('
)括起来;双引号("
)没有特殊含义。
这将是正确的字符串:
'GIRL''S 16" AND LESS BIKE'
除了真的是大女孩。
答案 1 :(得分:1)
只需将所需的任何文本用双引号括起来就可以了。
示例:
INSERT INTO t1
(group1)
VALUES
('"GIRL S 16" AND LESS BIKE');
答案 2 :(得分:0)
使用dollar-quotes怎么样?
SELECT $$GIRL'S 16" AND LESS BIKE$$
请注意,在以美元报价的字符串中,可以使用单引号 无需逃脱。的确, 以美元报价的字符串曾经被转义:字符串内容总是 从字面上写。反斜杠不是特别的,也不是美元 符号,除非它们是与开始标签匹配的序列的一部分。