Maison >base de données >tutoriel mysql >Comment puis-je échapper les caractères spéciaux dans les noms de colonnes SQL ?
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>
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>
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!