Maison >base de données >tutoriel mysql >Comment puis-je insérer correctement du texte avec des guillemets simples dans PostgreSQL ?
Insérer du texte contenant des guillemets simples dans PostgreSQL
L'insertion de valeurs contenant des guillemets simples peut être délicate dans PostgreSQL. Il existe cependant des moyens de garantir une évasion adéquate.
Pour insérer des valeurs contenant des guillemets simples, doublez-les dans la chaîne :
<code class="language-sql">INSERT INTO test VALUES (1, 'user''s log');</code>
Dans les versions de PostgreSQL où standard_conforming_strings
est défini sur off
, ou lorsque la syntaxe de chaîne d'échappement POSIX est activée à l'aide du préfixe E
, les guillemets simples peuvent être échappés à l'aide de barres obliques inverses :
<code class="language-sql">INSERT INTO test VALUES (1, E'user\'s log');</code>
Une autre option, en particulier pour les chaînes complexes contenant plusieurs niveaux d'échappement, consiste à citer la chaîne avec des signes dollar :
<code class="language-sql">INSERT INTO test VALUES (1, $token$escape ' with ''$token$);</code>
PostgreSQL fournit des fonctions pour citer correctement les chaînes :
quote_literal()
ou quote_nullable()
: citez une chaîne ou renvoyez NULL pour une entrée vide. %L
avec le spécificateur format()
: Équivalent à quote_nullable()
. Par exemple :
<code class="language-sql">INSERT INTO test VALUES (1, format('%L', 'user''s log'));</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!