Je travaille sur un projet où un autre développeur a créé une table avec des noms de colonne comme 'Business Name'
. C'est un espace entre deux mots. Si j'exécute une instruction SELECT
avec 'Nom de l'entreprise', cela signifie qu'il n'y a pas de colonne portant le nom 'Business'.
Comment puis-je résoudre ce problème?
Généralement, la première étape consiste à ne pas le faire en premier lieu, mais si cela est déjà fait, vous devez alors citer correctement les noms de vos colonnes:
SELECT `Business Name` FROM annoying_table
Habituellement, ce genre de choses est créé par des personnes qui ont utilisé quelque chose comme Microsoft Access et qui utilisent toujours une interface graphique pour faire leur travail.
Si les guillemets doubles ne fonctionnent pas, essayez d’inclure la chaîne entre crochets.
Pour par exemple:
SELECT "Business Name","Other Name" FROM your_Table
peut être changé comme
SELECT [Business Name],[Other Name] FROM your_Table
Vous devez utiliser backtick au lieu de guillemets simples:
Devis unique - 'Business Name'
- Faux
Backtick - `Business Name`
- Corriger
Pour chacun, mais la bonne façon de coder ceci est de renommer les colonnes insérant un soulignement afin qu'il n'y ait pas de lacunes. Cela garantira zéro erreur lors du codage. Lorsque vous imprimez les noms de colonne pour un affichage public, vous pouvez effectuer une recherche et un remplacement pour remplacer le trait de soulignement par un espace.