MySQL 8.3 Release Notes
以下表格描述了每种类型标识符的最大长度。
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 账户名称中的用户名和主机名是字符串,而不是标识符。有关这些值在授权表中的最大长度的信息,请参阅 Grant Table Scope Column Properties。