9.2.1. Спецификаторы идентификатора

MySQL разрешает имена, которые состоят из единственного идентификатора или многократных идентификаторов. Компоненты имени многократной части должны быть разделены периодом (".") символы. Начальные части многократной части называют действие как спецификаторы, которые влияют на контекст, в пределах которого интерпретируется заключительный идентификатор.

В MySQL можно сослаться на столбец таблицы, используя любую из следующих форм.

Ссылка столбца Значение
col_name Столбец col_name от того, какой бы ни таблица, используемая в операторе, содержит столбец того имени.
tbl_name.col_name Столбец col_name от таблицы tbl_name из базы данных значения по умолчанию.
db_name.tbl_name.col_name Столбец col_name от таблицы tbl_name из базы данныхdb_name.

Символ спецификатора является отдельным маркером и не должен быть непрерывным со связанными идентификаторами. Например, tbl_name.col_name и tbl_name . col_name эквивалентны.

Если какие-либо компоненты имени многократной части требуют заключения в кавычки, заключают им в кавычки индивидуально вместо того, чтобы заключить имя в кавычки в целом. Например, записать `my-table`.`my-column`, нет `my-table.my-column`.

Зарезервированное слово, которое следует за периодом на полностью определенное имя, должно быть идентификатором, таким образом, в том контексте оно не должно быть заключено в кавычки.

Вы не должны определить a tbl_name или db_name.tbl_name префикс для ссылки столбца в операторе, если ссылка не была бы неоднозначна. Предположите это таблицы t1 и t2 каждый содержит столбец c, и Вы получаете c в a SELECT оператор, который использует обоих t1 и t2. В этом случае, c неоднозначно, потому что это не уникально среди таблиц, используемых в операторе. Следует квалифицировать это с именем таблицы как t1.c или t2.c указать, какую таблицу Вы имеете в виду. Точно так же получать от таблицы t в базе данных db1 и от таблицы t в базе данных db2 в том же самом операторе следует обратиться к столбцам в тех таблицах как db1.t.col_name и db2.t.col_name.

Синтаксис .tbl_name означает таблицу tbl_name в базе данных значения по умолчанию. Этот синтаксис принимается для совместимости ODBC, потому что некоторые программы ODBC снабжают префиксом имена таблиц"."символ.




Spec-Zone.ru - all specs in one place