Maison > base de données > tutoriel mysql > Comment puis-je échapper les caractères spéciaux dans les noms de colonnes SQL ?

Comment puis-je échapper les caractères spéciaux dans les noms de colonnes SQL ?

Susan Sarandon
Libérer: 2025-01-11 22:18:44
original
674 Les gens l'ont consulté

How Do I Escape Special Characters in SQL Column Names?

Navigation dans les caractères spéciaux dans les noms de colonnes SQL

Les bases de données SQL offrent une flexibilité considérable dans la dénomination des tables et des colonnes. Toutefois, certains caractères sont réservés à des fonctions SQL spécifiques. Par exemple, le point (.) fait office de séparateur entre les noms de table et de colonne. Inclure un point directement dans le nom d'une colonne entraînera une mauvaise interprétation par la base de données.

La solution consiste à utiliser des délimiteurs, échappant efficacement au caractère spécial. Le fait de placer le nom de la colonne entre guillemets informe la base de données que le point fait partie du nom et non un séparateur. L'exemple suivant crée une table avec une colonne nommée "first.name":

<code class="language-sql">CREATE TABLE people (
  "first.name" VARCHAR(255)
);</code>
Copier après la connexion

Utilisation du standard SQL et des délimiteurs

La norme SQL:1999 recommande les guillemets doubles ("") pour délimiter les identifiants. Cela permet d'échapper à tout caractère généralement interdit dans les identifiants non cités. Par exemple :

<code class="language-sql">CREATE TABLE "table name" (
  column_name VARCHAR(255)
);</code>
Copier après la connexion

Considérations spécifiques à la base de données

Bien que la norme SQL existe, le comportement par défaut varie selon les systèmes de bases de données. MySQL et SQLite prennent en charge les guillemets comme délimiteurs, mais pas par défaut. MySQL nécessite le mode ANSI, tandis que SQLite a besoin de PRAGMA identifiers=ON pour activer ce comportement.

SQL Server accepte également les guillemets doubles, mais nécessite de la même manière de définir l'option QUOTED_IDENTIFIER sur ON.

Résumé

Bien qu'il existe une norme pour échapper les noms de colonnes dans SQL, les systèmes de bases de données ont souvent des paramètres par défaut différents. MySQL, SQLite et SQL Server prennent tous en charge les guillemets comme délimiteurs, mais nécessitent des configurations spécifiques pour activer cette fonctionnalité. Consultez toujours la documentation de votre base de données pour connaître la méthode correcte.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal