Подтвердить что ты не робот

Как выбрать имя столбца с пробелом в MySQL

Я работаю над проектом, в котором другой разработчик создал таблицу с именами столбцов, например 'Business Name'. Это пространство между двумя словами. Если я запускаю оператор SELECT с названием "Название компании", он говорит, что столбца с именем "Бизнес" нет.

Как я могу решить эту проблему?

4b9b3361

Ответ 1

Как правило, первым шагом является не выполнение этого в первую очередь, но если это уже сделано, вам нужно прибегнуть к правильному цитированию имен столбцов:

SELECT `Business Name` FROM annoying_table

Обычно такие вещи создаются людьми, которые использовали что-то вроде Microsoft Access и всегда используют графический интерфейс для выполнения своих задач.

Ответ 2

Если двойные кавычки не работают, попробуйте включить строку в квадратных скобках.

Например,

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

можно изменить как

SELECT [Business Name],[Other Name] FROM your_Table

Ответ 3

Вы должны использовать backtick вместо одинарных кавычек:

Одиночная кавычка - 'Business Name' - Неправильно

Backtick - 'Business Name' - Правильный

Ответ 4

Каждому его, но правильному способу кодирования это переименование столбцов, вставляющих подчеркивание, чтобы не было пробелов. Это обеспечит нулевые ошибки при кодировании. При печати имен столбцов для общедоступного дисплея вы можете искать и заменять, чтобы заменить подчеркивание пробелом.

Ответ 5

Лучше всего использовать символ обратного удара или серьезный символ ударения ('). Он расположен прямо под клавишей "Escape" на большинстве клавиатур.

SELECT 'Attribute Name Including Spaces' from <table_name>;

Ответ 6

Я думаю, что двойные кавычки тоже работают:

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

Но я тестировал только на SQL Server NOT mySQL, если кто-то работает с MS SQL Server.