暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

[ACDU翻译] MySQL 9.2.1 标识符长度限制

原创 由迪 2021-12-13
305

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

标识符类型 最大长度(字符)
数据库 64(包括 NDB Cluster 8.0.18 及更高版本)
64(包括 NDB Cluster 8.0.18 及更高版本)
64
索引 64
约束 64
存储程序 64
看法 64
表空间 64
服务器 64
日志文件组 64
别名 256(见下表的例外情况)
复合声明标签 16
用户定义变量 64
资源组 64

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

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

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

在 NDB 8.0.18 之前,NDB Cluster 对数据库和表的名称施加了 63 个字符的最大长度。从 NDB 8.0.18 开始,此限制已被删除。请参阅 第 23.2.7.11 节,“在 NDB Cluster 8.0 中解决的以前的 NDB Cluster 问题”

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

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论