结论先行:Navicat 15 的 ER 图中确实无法直接看到字段 COMMENT,根本原因在于该版本默认未开启「解析并渲染字段注释」功能。你需要手动将 COMMENT 中的内容复制粘贴到字段的 Description 栏,描述信息才能在 ER 图中显示。
Navicat 15 ER图不显示字段完整描述(COMMENT)的直接原因
并非设置缺失,而是 Navicat 15 的 ER 图引擎在逆向工程阶段根本不会主动读取 information_schema.columns.column_comment 这个字段。除非你手动启用对应选项,否则它不会读取。更关键的是,即使读取了,它也不会自动将 COMMENT 渲染到字段行末尾——那是 v16 及以上版本才具备的 UI 层行为,v15 无法实现。

如何让字段描述出现在ER图里(Navicat 15 实操路径)
Navicat 15 没有类似「导入时保留列注释」这样的图形化开关,因此只能采用 SQL 预处理加手动补录的方式,具体分两步:
- 首先,导出源库的建表语句时,务必确保包含
COMMENT子句。可以用SHOW CREATE TABLE t1来核对,检查输出中是否存在类似`name` VARCHAR(50) COMMENT '用户姓名'的内容。 - 然后,在 Navicat 中新建一个空白 ER 图,右键画布选择「Import from SQL File...」,选中刚才导出的 SQL 文件。
- 导入后,双击每张表,在弹出的「表属性」窗口里,手动将
COMMENT内容复制粘贴到对应字段的Description栏。注意,是 Description 栏,不是 Comment 栏——v15 的字段编辑框中正是这样命名的。 - 保存后刷新画布,字段下方才会显示这段描述文字,位置固定在字段名右侧、类型左侧。
为什么勾选“包含外键关系”也没用?
这个选项只控制关系线是否生成,与字段描述完全是两回事。几个常见的混淆点:
Include foreign keys负责表与表之间的连线,不影响字段级别的元数据。- 字段的
Description属于 ER 图模型层的属性,不依赖数据库运行时查询,必须手动填写。 - 一个容易踩的坑是:如果 SQL 导入时字段名带空格或中文引号(比如
`user name` VARCHAR(20) COMMENT “用户名”),Navicat 15 会静默跳过整条 COMMENT 解析。因此必须统一改用英文单引号。
导出 PNG/PDF 后描述文字被截断或看不见
Navicat 15 的字段容器宽度是硬编码的,不会随描述长度自适应。一旦文字超长,就会被裁剪,或者被挤到字段名下方极窄的区域内,肉眼很难看到。几种应对方式:
- 临时方案:在表属性里缩短描述,控制在 12 个汉字以内。例如用「登录邮箱」代替「用户用于接收系统通知的注册邮箱地址」。
- 规避法:右键表选择「Edit Table」,将描述写进字段的
Comment列(注意,这里是数据库层的 COMMENT,不是 ER 图层的 Description)。导出时勾选「Include table descriptions」,这部分内容会以独立文本块显示在表下方,不会被截断。 - 一个致命限制:Navicat 15 不支持在导出图像时放大字段区域,Canvas Properties 里也没有相关的缩放粒度控制项。
简而言之,Navicat 15 的字段描述是一种「静态填空」,而非「动态绑定」。所有看似自动出现的文字,都需要手动录入,并且要避开引号、空格和超长这三道隐形门槛。
