9.2.1 标识符长度限制

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

Identifier Type最大长度(字符)
Database64 (NDB存储引擎:63)
Table64 (NDB存储引擎:63)
Column64
Index64
Constraint64
Stored Program64
View64
Tablespace64
Server64
日志文件组64
Alias256 (请参阅下 table 中的异常)
复合声明标签16
User-Defined Variable64

CREATE VIEW语句中列名的别名将根据最大 64 个字符的列长度(而不是 256 个字符的最大别名长度)进行检查。

对于不包含约束名称的约束定义,服务器在内部生成一个从关联 table 名称派生的名称。例如,内部生成的外键约束名称由 table 名称加_ibfk_和一个数字组成。如果 table 名称接近约束名称的长度限制,则约束名称所需的其他字符可能导致该名称超过限制,从而导致错误。

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

NDB 群集对数据库和 table 的名称强加了 63 个字符的最大长度。参见第 21.1.7.5 节“与 NDB 群集中的数据库对象相关联的限制”

MySQL 帐户名称中的用户名和主机名之类的值是字符串而不是标识符。有关授权 table 中存储的此类值的最大长度的信息,请参见授予 table 范围列属性