Maison >base de données >tutoriel mysql >Comment insérer des valeurs avec des apostrophes dans une base de données SQL ?

Comment insérer des valeurs avec des apostrophes dans une base de données SQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-16 11:50:03592parcourir

How Do I Insert Values with Apostrophes into an SQL Database?

Insérer une valeur contenant des guillemets simples dans la base de données SQL

Étant donné que les guillemets simples servent de délimiteurs pour les données de chaîne en SQL, l'insertion de valeurs contenant des guillemets simples dans les tables SQL peut être délicate.

Exemple :

Considérez l'instruction SQL INSERT suivante :

<code class="language-sql">INSERT INTO Person (First, Last) VALUES ('Joe', 'O'Brien')</code>

Cette instruction générera une erreur car le guillemet simple après le « O » est interprété comme la fin de la valeur.

Solution : Échapper aux guillemets simples

Pour insérer une valeur contenant un guillemet simple, vous devez échapper le caractère en doublant le guillemet simple.

<code class="language-sql">INSERT INTO Person (First, Last) VALUES ('Joe', 'O''Brien')</code>

Dans cet exemple, le guillemet simple après le "O" est échappé par un autre guillemet simple.

S'applique aux requêtes SELECT

Les mêmes règles d'échappement s'appliquent également aux requêtes SELECT. Par exemple, pour rechercher des personnes portant le nom de famille « O'Brien » :

<code class="language-sql">SELECT First, Last FROM Person WHERE Last = 'O''Brien'</code>

Description technique

Le guillemet simple est un caractère spécial en SQL car il indique le début et la fin des données de chaîne. Pour utiliser un guillemet simple dans le cadre d'une valeur de chaîne, son statut de caractère spécial doit être échappé. Cela se fait généralement en doublant les caractères.

Remarques

Lorsque vous traitez des données pouvant contenir des caractères spéciaux, c'est une bonne idée d'échapper à ces caractères avant de les insérer dans la base de données. Cela permet d'éviter les attaques par injection SQL et d'autres vulnérabilités. Dans le code, les frameworks et les outils devraient gérer cela pour vous.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn