Comment列需右键列头勾选才能显示;导出SQL须在高级选项中启用Include comments;MySQL 8.0+需授予information_schema.columns的SELECT权限。
Design Table 里没看到 Comment 列?右键列头手动打开
navicat 的字段注释输入框默认是隐藏的,不是界面 bug,也不是权限问题——它压根就没显示出来。你在 design table 界面看到的字段列表,默认只含 field、type、null 等基础列,comment 列必须主动调出。
操作很简单:在字段列表任意一列的表头(比如点一下 Field 文字上方)右键 → 勾选 Comment。这一列立刻出现在最右侧,每行末尾就出现可编辑的注释框。
常见踩坑点:
-
Comment列名容易被误认为是“备注”或“说明”,实际就叫Comment,大小写敏感,别输错 - 勾选后若仍不显示,检查是否在“对象浏览器”里双击表名进了数据页——那不是
Design Table,得右键表 → “设计表”才能进对地方 - 填完别只点窗口右上角 ×,必须点工具栏的
Save按钮(磁盘图标),Ctrl+S 在 Navicat 里默认是执行查询
导出 SQL 时注释消失?关键开关在「高级选项」里
哪怕你在 Design Table 里把 Comment 列填得密密麻麻,导出的 SQL 里照样没有 COMMENT='xxx' ——因为 Navicat 默认关掉了这个输出项。
导出路径分两种:
- 走「转储 SQL 文件」:右键表 → “转储 SQL 文件” → 选“仅结构”或“结构和数据” → 下一步到「高级选项」页 → 必须勾选
Include comments - 走「导出向导」→「导出为 create 语句」:同样在「高级选项」页 → 找到并勾选
包含注释(comment)(中文版文案,注意不是英文)
这个选项不勾,生成的 SQL 就是“干净”的纯结构,连表级 COMMENT 都不会带。导出后建议用 Ctrl+F 搜一下 COMMENT,确认字段和表的注释都落进去了。
MySQL 8.0+ 用户注意:information_schema 权限可能拦住注释读取
即使你填了、开了导出开关,导出结果里 Comment 列还是空的,或者 show full columns from tbl 返回的 Comment 字段全为 NULL,大概率是权限问题。
MySQL 8.0 起加强了 information_schema 的访问控制。Navicat 查询字段注释时依赖 information_schema.columns.column_comment,如果当前连接用户没被显式授予对该视图的 SELECT 权限,就会拿不到值。
验证方法:
select column_name, column_comment from information_schema.columns where table_schema = 'your_db' and table_name = 'your_table';
如果 column_comment 全是 NULL,但你知道注释确实存在,就去执行:
GRANT SELECT ON information_schema.columns TO 'your_user'@'%';
然后刷新连接。别指望只给表权限就能读元数据注释——8.0+ 这块是独立管控的。
想在 ER 图或数据浏览页直接看注释?不是所有视图都支持
Navicat 没有像 PL/SQL Developer 那样在单条记录查看时自动浮出字段注释的功能。但有替代路径:
- ER 图中显示:右键数据库 → “逆向数据库到模型” → 进入图表后,在右侧属性窗格开启
显示字段注释和显示表注释 - 数据浏览页不显示注释,但可以停靠 DDL 窗口:查表数据时,按
F6或点右下角DDL标签,能实时看到建表语句,含所有COMMENT - 快捷查注释:新建查询,执行
show full columns from your_table,结果集第 9 列就是Comment,别漏看
最易忽略的一点:Navicat 的「查看」菜单里根本没有“显示注释列”这类选项——所谓“在查看菜单开启注释列”是误导信息,真实入口永远在 Design Table 的右键列头,或导出流程的高级选项页。











