9.2.1 Пределы длины идентификаторов
В следующей таблице описана максимальная длина для каждого типа идентификатора.
| Тип идентификатора | Максимальная длина (символов) |
|---|---|
| База данных | 64 (NDB движок хранения: 63) |
| Таблица | 64 (NDB движок хранения: 63) |
| Столбец | 64 |
| Индекс | 64 |
| Ограничение | 64 |
| Хранимые программы | 64 |
| Просмотр | 64 |
| Пространство таблиц | 64 |
| Сервер | 64 |
| Группа файлов журнала | 64 |
| Псевдоним | 256 (см. исключение после таблицы) |
| Метка составного оператора | 16 |
| Переменная, определённая пользователем | 64 |
Псевдонимы для имён столбцов в операторах CREATE
VIEW проверяются на соответствие максимальной длине столбца в 64 символа (а не максимальной длине псевдонима в 256 символов).
Для определений ограничений, не содержащих имени ограничения, сервер внутренне генерирует имя, полученное из имени связанной таблицы. Например, внутренние имена ограничений внешнего ключа состоят из имени таблицы плюс _ibfk_ и числа. Если имя таблицы близко к пределу длины имён ограничений, дополнительные символы, необходимые для имени ограничения, могут привести к превышению этого предела, что приведёт к ошибке.
Идентификаторы хранятся с использованием Юникода (UTF-8). Это относится к идентификаторам в определениях таблиц, которые хранятся в .frm файлах и к идентификаторам, хранящимся в таблицах разрешений в базе данных mysql. Размеры столбцов строк идентификаторов в таблицах разрешений измеряются в символах. Вы можете использовать многобайтовые символы без уменьшения числа символов, разрешённых для значений, хранящихся в этих столбцах.
NDB Cluster налагает максимальную длину 63 символа для имён баз данных и таблиц. См. Раздел 21.2.7.5, «Ограничения, связанные с объектами баз данных в NDB Cluster».
Значения, такие как имя пользователя и имя хоста в именах учётных записей MySQL, являются строками, а не идентификаторами. Сведения о максимальной длине таких значений, хранящихся в таблицах разрешений, см. в Свойства столбцов области действия таблиц разрешений.
© 2025 Oracle
Licensed under the GPLv2 License.