Как выбрать имя столбца с пробелом в MySQL
Я работаю над проектом, где другой разработчик создал таблицу с именами столбцов, как 'Business Name'. Это пространство между двумя словами. Если я запускаю SELECT оператор с именем 'Business' он говорит, что нет столбца с именем 'Business'.
Как я могу решить эту проблему?
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