### 9.2.1 标识符长度限制

下表描述了每种标识符的最大长度。

| 标识符类型 | 最大长度（字符） |
| ----- | -------- |
| 数据库 | 64（包括 NDB Cluster 8.0.18 及更高版本） |
| 桌子 | 64（包括 NDB Cluster 8.0.18 及更高版本） |
| 柱子 | 64 |
| 指数 | 64 |
| 约束 | 64 |
| 存储程序 | 64 |
| 看法 | 64 |
| 表空间 | 64 |
| 服务器 | 64 |
| 日志文件组 | 64 |
| 别名 | 256（见下表例外） |
| 复合语句标签 | 16 |
| 用户定义的变量 | 64 |
| 资源组 | 64 |

中列名的别名[`创建视图`](create-view.html)根据 64 个字符的最大列长度（而不是 256 个字符的最大别名长度）检查语句。

对于不包含约束名称的约束定义，服务器在内部生成一个从关联表名派生的名称。例如，内部生成的外键和`查看`约束名称由表名加上`_ibfk_`要么`_chk_`和一个数字。如果表名接近约束名称的长度限制，则约束名称所需的附加字符可能会导致该名称超出限制，从而导致错误。

标识符使用 Unicode (UTF-8) 存储。这适用于表定义中的标识符和存储在授权表中的标识符`mysql`数据库。授权表中标识符字符串列的大小以字符为单位。您可以使用多字节字符，而不会减少这些列中存储的值所允许的字符数。

在 NDB 8.0.18 之前，NDB Cluster 为数据库和表的名称规定了最大长度为 63 个字符。从 NDB 8.0.18 开始，此限制已删除。看[第 23.2.7.11 节，“NDB Cluster 8.0 中解决的以前的 NDB Cluster 问题”](mysql-cluster-limitations-resolved.html).

MySQL 帐户名中的用户名和主机名等值是字符串而不是标识符。有关存储在授权表中的此类值的最大长度的信息，请参阅[授予表范围列属性](grant-tables.html#grant-tables-scope-column-properties).
