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



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



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

504   5  

5 ответов:

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

SELECT `Business Name` FROM annoying_table

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

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

например:

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

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

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

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

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

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

Backtick -`Business Name` - правильно

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

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

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

Comments

    Ничего не найдено.