Альтернатива имени столбца "order" в MySQL [закрыто]
когда я создаю новую таблицу, которая нуждается в заказе, определенном пользователем, моя первая идея всегда идет к имени столбца "заказ". Конечно, это не хорошо, так как это зарезервированное слово.
какое имя вы даете этому столбцу в ваших моделях БД ?
Спасибо за вашу помощь.
5 ответов:
просто добавьте галочку ' вокруг имен ваших таблиц и столбцов, например:
CREATE TABLE `order` ( `order#` char(4) NOT NULL, `ord_date` DATE, Primary Key (`order#`) ) ENGINE=InnoDB;
Это позволяет использовать специальные символы и ключевые слова, по крайней мере, это работает для текущей версии MySql.
SQL Server, по крайней мере, позволяет использовать ключевые слова, если они заключены в квадратные скобки, хотя я согласен, что это не очень хорошая идея.
Я считаю, что в последний раз, когда я сделал это, я использовал SortOrder для имени. Однако я часто использую префиксы, которые отражают таблицу, такую как UsrSortOrder, поэтому это не всегда проблема.
в ANSI / ISO SQL двойные кавычки разделяют ключевые слова при использовании в качестве имен столбцов; строковые литералы разделяются одинарными кавычками:
select "from" = 'from' from foo
Microsoft SQL Server также позволяет использовать квадратные скобки вместо двойных кавычек:
select [from] = 'from' from foo
но в любом случае, это делает ужасный беспорядок вашего кода (попробуйте прочитать выше кому-то.)
Если мне нужен столбец для упорядочивания результатов, я обычно называю его чем-то вроде "sequence_number" или 'sort_sequence'.