我一直在开发一款Express应用程序,其中包含一个用于存放行和引号的表单。
有些行会有单引号('
),但总体而言,它可以存储信息,我可以备份并存储它而不会出现任何问题。现在,当我想要做pg_dump
并将数据库放入SQL文件时,引号似乎会导致某些内容在我的文本编辑器中显得有点不可思议。
我是否必须创建一个方法将所有单引号更改为double,或者我可以保留原样并能够将其上传回数据库而不会导致重大问题。我知道人们会继续输入包含单引号或双引号的行,所以我想知道任何可能有用的解决方案或答案。
答案 0 :(得分:2)
字符数据类型中的单引号完全没问题。你只需要在字符串文字中正确地转义它们。
要使用INSERT
写入数据,您需要根据SQL语法规则引用所有字符串文字。有工具可以帮到你......
然而,pg_dump
负责自动转义。默认模式使用 COPY
重新导入文本输出(比INSERT
快得多),单引号在那里没有特殊含义。在(非默认)csv
模式下,默认引号字符是双引号("
)并且是可配置的。 The manual:
QUOTE
指定引用数据值时要使用的引用字符。默认为双引号。这必须是单个单字节字符。仅在使用
CSV
格式时才允许使用此选项。
格式由COPY
的规则定义,而不是由SQL语法规则定义。