MySQL中的表注释长度

Posted

技术标签:

【中文标题】MySQL中的表注释长度【英文标题】:Table comment length in MySQL 【发布时间】:2010-09-28 07:49:15 【问题描述】:

根据 mysql 手册,表 cmets 限制为 60 个字符。我在 MySQL Workbench 中设计架构,它不强制执行此限制,因此我最终经常编写超过 60 个符号,这导致 SQL 脚本失败。说实话,我会很高兴表 cmets 在我的架构内部(即不导出到实际数据库),但 Workbench 也不允许这样做。因此我的问题是:有没有办法将 MySQL 中表注释的最大长度增加到 255?

【问题讨论】:

这个问题在 Google 上很高,所以... MySQL 5.1 的限制是 255。引用:“可以使用 COMMENT 选项指定列的注释,最长为 255 个字符。注释由 SHOW CREATE TABLE 和 SHOW FULL COLUMNS 语句显示。"。 没关系。我刚刚注意到这是关于仍然限制为 60 条的表格评论... 见***.com/a/14502814/1725096 可以使用 COMMENT 选项为列指定注释,最长为 1024 个字符(在 MySQL 5.5.3 之前为 255 个字符)。注释由 SHOW CREATE TABLE 和 SHOW FULL COLUMNS 语句显示。 MySQL 5.1 CREATE TABLE reference: • 最多 60 个字符的表格。 • 最多255 个字符的列。 || MySQL 5.5 CREATE TABLE reference: • 最多 2048 个字符的表(在 MySQL 5.5.3 之前为 60 个字符)。 • 最多 1024 个字符的列(在 MySQL 5.5.3 之前为 255 个字符)。 【参考方案1】:

根据this bug report,Workbench 在 5.0.18 中被修复为不允许超过 60 个字符的 cmets。

我很确定没有办法增加限制,但如果您关闭严格模式(即使是在您导入时暂时关闭),那么它应该用警告截断它而不是抛出错误。

【讨论】:

不,这不正确,我有 5.0.28 并且长度仍未强制执行。理论上我不会抱怨,有长表注释很方便,但实际上它破坏了我的 SQL 脚本:(【参考方案2】:

我从 google 来到这里 - 没有办法(除了补丁),但是评论长度显着增加,正如我在这里总结的那样 https://***.com/a/14502814/857958

【讨论】:

这已经过时了,见@blueimpb【参考方案3】:

我是从 Google 来到这里的。此 60 个字符的限制已在 很长时间 时间内失效http://dev.mysql.com/doc/refman/5.5/en/create-table.html

COMMENT

表的注释,最多 2048 个字符(在 MySQL 5.5.3 之前为 60 个字符)。

【讨论】:

也值得指出:A comment for a column can be specified with the COMMENT option, up to 1024 characters long (255 characters before MySQL 5.5.3). The comment is displayed by the SHOW CREATE TABLE and SHOW FULL COLUMNS statements.【参考方案4】:

这是我在 MySQL Workbench 中发现的第一个缺陷。我以前从未使用过 table cmets,但我确实喜欢它们。为什么在生成的 SQL 脚本中使用包含(或前置)带有哈希标记的 cmets?不会让他们失望的。

【讨论】:

【参考方案5】:

在此处提供了在 MySQL 中启用更长 cmets 的补丁,link text

【讨论】:

修补核心数据库引擎听起来像是解决 MySQL Workbench 错误的危险方法。不过,如果这个补丁经过适当的审查并添加到 MySQL 中,那就太好了。

以上是关于MySQL中的表注释长度的主要内容,如果未能解决你的问题,请参考以下文章

MySQL获取以特定名称结尾的表列表及其(表的)注释

让hive的表注释和字段注释支持中文

mysql 字段的注释有啥用

mysql数据库查询之对应库对应表中的注释信息查询以及加字段查询

MySQL查询数据库里面所有的表名和表注释 - tables with comment

MySQL查询数据库里面所有的表名和表注释 - tables with comment