首页 >数据库 >mysql教程 >如何在 PostgreSQL 中正确插入带单引号的文本?

如何在 PostgreSQL 中正确插入带单引号的文本?

Linda Hamilton
Linda Hamilton原创
2025-01-23 14:23:10474浏览

How Can I Properly Insert Text with Single Quotes into PostgreSQL?

在PostgreSQL中插入包含单引号的文本

在PostgreSQL中插入包含单引号的值可能会比较棘手。但是,有一些方法可以确保正确转义。

使用单引号

要插入包含单引号的值,请在字符串中将它们加倍:

<code class="language-sql">INSERT INTO test VALUES (1, 'user''s log');</code>

使用反斜杠转义

在将standard_conforming_strings设置为off的PostgreSQL版本中,或者使用E前缀启用POSIX转义字符串语法时,可以使用反斜杠转义单引号:

<code class="language-sql">INSERT INTO test VALUES (1, E'user\'s log');</code>

使用美元符引号字符串

另一个选项,尤其适用于包含多层转义的复杂字符串,是使用美元符引号字符串:

<code class="language-sql">INSERT INTO test VALUES (1, $token$escape ' with ''$token$);</code>

用于引用字符串的函数

PostgreSQL 提供了用于正确引用字符串的函数:

  • quote_literal()quote_nullable():引用字符串,或对空输入返回 NULL。
  • 带有 %L 说明符的 format():等效于 quote_nullable()

例如:

<code class="language-sql">INSERT INTO test VALUES (1, format('%L', 'user''s log'));</code>

以上是如何在 PostgreSQL 中正确插入带单引号的文本?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn