Échapper les noms de colonnes dans la base de données SQL
SQL dispose-t-il d'un moyen standardisé pour échapper aux noms de colonnes ? Sinon, quelles méthodes sont prises en charge par MySQL, SQLite et SQL Server ?
Normes SQL et délimiteurs d'identifiants
La norme SQL :1999 stipule que les identifiants, y compris les noms de colonnes, doivent être placés entre guillemets ("") comme délimiteurs.
<code><delimited identifier=""> ::= <double quote=""><delimited body="" identifier=""><double quote=""></double></delimited></double></delimited></code>
Prise en charge des noms de colonnes délimités
Les bases de données SQL les plus populaires, notamment Oracle, PostgreSQL, MySQL, MSSQL et SQLite, prennent en charge l'utilisation de guillemets doubles comme délimiteurs d'identifiant. Cependant, toutes les bases de données ne l'utilisent pas comme paramètre par défaut.
MySQL
Dans MySQL, pour utiliser des guillemets doubles comme délimiteurs de noms de colonnes, le mode ANSI doit être activé.
SQL Serveur
Dans SQL Server, les guillemets doubles sont pris en charge comme délimiteurs de noms de colonnes uniquement lorsque l'option QUOTED_IDENTIFIER est définie sur ON.
Exemple d'utilisation
Pour utiliser des guillemets doubles pour échapper les noms de colonnes dans ces bases de données, entourez simplement le nom de la colonne entre guillemets.
<code>SELECT * FROM "table_name" WHERE "column_name" = 'value';</code>
Remarque :
Bien que les guillemets doubles soient le moyen standard d'échapper les noms de colonnes, certaines bases de données peuvent également prendre en charge d'autres délimiteurs, tels que les crochets ([ et ]). Cependant, il est généralement recommandé d'utiliser des guillemets doubles pour garantir la compatibilité et la cohérence entre les différentes bases de données.
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!