【问题标题】:Single quotes stored in a Postgres database存储在 Postgres 数据库中的单引号
【发布时间】:2016-11-19 01:31:47
【问题描述】:

我一直在开发一个 Express 应用程序,该应用程序的表单旨在保存行和引号。

有些行会有单引号('),但总的来说它能够存储信息,我可以备份它并毫无问题地存储它。现在,当我想执行pg_dump 并将数据库放入 SQL 文件时,引号似乎会导致我的文本编辑器中的某些内容显得有些不稳定。

我是否必须创建一种方法将所有单引号更改为双引号,或者我可以保持原样并能够将其上传回数据库而不会造成重大问题。我知道人们会继续输入包含单引号或双引号的行,所以我想知道任何对您有很大帮助的解决方案或答案。

【问题讨论】:

    标签: postgresql express quotes pg-dump postgresql-copy


    【解决方案1】:

    字符数据类型中的单引号完全没有问题。您只需要在字符串文字中正确转义它们。

    要使用INSERT 写入数据,您需要根据 SQL 语法规则引用所有字符串文字。有工具可以为您做到这一点...

    然而pg_dump 负责自动转义。默认模式产生文本输出,用 COPY 重新导入(比INSERT 快得多),单引号在那里没有特殊含义。在(非默认)csv 模式下,默认引号字符是双引号 (") 且可配置。 The manual:

    QUOTE

    指定引用数据值时要使用的引用字符。默认为双引号。这必须是一个单字节字符。只有在使用CSV 格式时才允许使用此选项。

    格式由COPY 的规则定义,而不是由 SQL 语法规则定义。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-09
      • 2021-06-18
      • 2011-04-02
      • 1970-01-01
      • 1970-01-01
      • 2012-05-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多