Délimiteurs d'identifiants de base de données : exploration des variations de citations
Dans le domaine de SQL, une exigence courante se pose lorsque l'on travaille avec des identifiants (noms de table, noms de colonnes) qui peuvent contenir des caractères non alphanumériques ou poser des conflits potentiels avec des mots clés SQL. Pour résoudre ce problème, les bases de données utilisent des délimiteurs appelés « identifiants délimités ».
Citations avec guillemets et guillemets doubles
Par convention, SQL utilise des guillemets doubles par défaut. délimiteurs pour les identifiants cités :
SELECT * FROM "my_table";
Cependant, certaines bases de données s'écartent de cette norme. Par exemple, MySQL et Microsoft SQL Server ont introduit des variantes :
SELECT * FROM `my_table`; -- Enabling ANSI mode allows for double-quotes: SET SQL_MODE=ANSI_QUOTES; SELECT * FROM "my_table";
SELECT * FROM [my_table]; -- Turn on quoted identifiers: SET QUOTED_IDENTIFIER ON; SELECT * FROM "my_table";
Dans le cas d'InterBase et Firebird, ils nécessitent une modification du dialecte SQL afin pour permettre des identifiants délimités.
Conforme aux normes
Bien que de nombreux systèmes de bases de données adhèrent Outre la convention des guillemets doubles, les variations dans les méthodes de citation soulignent l'importance de vérifier la documentation et de respecter les conventions spécifiques de chaque SGBD. Ce faisant, vous pouvez éviter les erreurs de syntaxe et vous assurer que vos requêtes SQL sont exécutées comme prévu.
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!