Comment sélectionner un nom de colonne avec un espace dans MySQL

Je travaille sur un projet où un autre développeur a créé une table avec des noms de colonnes comme 'Business Name' . C’est un espace entre deux mots. Si j’exécute une SELECT avec ‘Nom de l’entreprise’, elle indique qu’il n’y a pas de colonne avec 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 a déjà été fait, vous devez alors utiliser le nom de vos colonnes:

 SELECT `Business Name` FROM annoying_table 

Habituellement, ces sortes de choses sont créées par des personnes qui ont utilisé quelque chose comme Microsoft Access et utilisent toujours une interface graphique pour faire leur travail.

Si les guillemets 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

Pour chacun, mais la bonne façon de coder ceci est de renommer les colonnes en insérant un soulignement afin qu’il n’y ait pas de lacunes. Cela garantira zéro erreur lors du codage. Lors de l’impression des noms de colonne pour l’affichage public, vous pouvez rechercher et remplacer pour remplacer le trait de soulignement par un espace.

Vous devez utiliser backtick au lieu de guillemets simples:

Devis unique – 'Business Name' – Mauvais

Backtick – `Business Name` – Correct

Je pense que les doubles citations fonctionnent aussi:

 SELECT "Business Name","Other Name" FROM your_Table 

Mais j’ai seulement testé sur SQL Server PAS mySQL au cas où quelqu’un travaillerait avec MS SQL Server.