MySQL 8.0版本说明
MySQL 8.0源代码文档10bet官方网站
下表描述了每种标识符的最大长度。
标识符类型 | 最大长度(字符) |
---|---|
数据库 | 64(包括NDB集群8.0.18及以上版本) |
表格 | 64(包括NDB集群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开始,这个限制被取消了。看到第23.2.7.11节,“以前在NDB集群8.0中解决的NDB集群问题”.
MySQL帐户名中的用户名和主机名等值是字符串,而不是标识符。有关授权表中存储的此类值的最大长度的信息,请参见授予表作用域列属性.