12.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

中列名的别名创建视图根据64个字符的最大列长度(而不是256个字符的最大别名长度)检查语句。

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

标识符使用Unicode (UTF-8)存储。控件中的授予表中存储的标识符mysql数据库。授权表中标识符字符串列的大小以字符计算。可以使用多字节字符,而不减少存储在这些列中的值所允许的字符数。

在NDB 8.0.18之前,NDB集群对数据库名和表名的长度限制为63个字符。从NDB 8.0.18开始,这个限制被取消了。看到在NDB集群8.0中解决了以前的NDB集群问题

MySQL帐户名中的用户名和主机名等值是字符串,而不是标识符。有关存储在授权表中的这些值的最大长度的信息,请参见第12.2节,“授予表范围列属性”