MySQL 8.4 Reference Manual  /  ...  /  Identifier Length Limits

11.2.1 标识符长度限制

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

Identifier Type Maximum Length (characters)
数据库 64
64
64
索引 64
约束 64
存储程序 64
视图 64
表空间 64
服务器 64
日志文件组 64
别名 256(见以下表格中的例外)
复合语句标签 16
用户定义变量 64
资源组 64

CREATE VIEW语句中,列别名将被检查,以确保其长度不超过64个字符(而不是256个字符的别名长度限制)。

对于包含无约束名称的约束定义,服务器将内部生成一个由关联表名派生的名称。例如,内部生成的外键和CHECK约束名称由表名加上_ibfk__chk_和一个数字组成。如果表名接近约束名称长度限制,所需的额外字符可能会导致该名称超出限制,从而引发错误。

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

MySQL 账户名称中的用户名和主机名等值是字符串,而不是标识符。关于授权表中存储这些值的最大长度,请参见授权表范围列属性