Что означают имена таблиц / полей в SQL? - PullRequest
4 голосов
/ 05 февраля 2011

Вот оператор SQL, сгенерированный для меня phpMyAdmin:

SELECT * FROM `table_name` WHERE 1

Вы можете видеть, что table_name окружен `символами.

Почему?

Ответы [ 2 ]

4 голосов
/ 05 февраля 2011

Используется для включения идентификаторов в MySQL.

Это позволяет им иметь символы, которые могут быть неоднозначными или иным образом недопустимыми в обычном SQL, например пробел:

`foo bar` - is a valid MySQL identifier

foo bar - is not, since foo is the identifier, and bar is ambiguous
3 голосов
/ 05 февраля 2011

Используется для выхода / включения символов, в случае пробела или другого недопустимого символа в имени таблицы или поля.

Из документов:

Если идентификатор содержит специальные символы или является зарезервированным слово, вы должны цитировать его всякий раз, когда вы обратитесь к нему. Набор буквенно-цифровой персонажи из текущего персонажа set, «_» и «$» не являются специальными. Зарезервированные слова перечислены в разделе 8.3, «Зарезервированные слова».

http://dev.mysql.com/doc/refman/5.0/en/identifiers.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...