Navicat中字段注释需右键表头勾选Comment列才显示输入框,表注释在设计表窗口底部单独填写;导出SQL须手动开启“Include comments”选项;PostgreSQL字段注释必须用COMMENT ON COLUMN语句执行。
Navicat字段注释不显示Comment列?先右键表头勾选
不是所有字段行末尾都有输入框——comment列默认是隐藏的。进到「设计表」界面后,必须右键点击字段列表任意列头(比如field或type),在弹出菜单里手动勾选comment。漏掉这步,你根本看不到注释入口。
常见错误现象:点了保存但导出 SQL 没带COMMENT子句;字段名旁边空着,以为能直接敲字,结果敲不进去。
- 只对当前表生效,切换到另一张表要重新勾选
- 勾选后每行末尾出现空白输入框,填完别留空格,否则可能被截断
- MySQL 字段注释最大长度 1024 字符,超长部分 Navicat 不提示、静默截断
表注释在哪填?不是字段列表里,是窗口最下方
表级注释和字段注释位置完全不同:Comment字段在「设计表」窗口最底部,单独一行,标着“Comment”,不是字段列表里的某一列。很多人误以为要写在第一行字段旁,或者去对象浏览器里右键改属性,结果找不到入口。
使用场景:建新表时顺手填,比如用户行为日志表,含点击/曝光/停留时长;已有表补注释也在这里改,改完点工具栏Save按钮(磁盘图标),不是Ctrl+S(那是运行查询)。
- MySQL 5.7+ 和 MariaDB 支持该字段;SQLite 完全不支持表注释
- PostgreSQL 在 Navicat 图形界面里填了也没用,必须手写
COMMENT ON TABLE - 填完点“保存更改”,不是“关闭”或“取消”,弹窗里要确认选中前者
导出SQL没带COMMENT?检查“包含注释”开关
Navicat 导出结构时,默认不包含注释语句。即使你填了所有Comment,导出的 SQL 文件里也不会出现COMMENT='xxx',除非手动开启选项。
操作路径:导出向导 → 「高级」选项卡 → 勾选Include comments(MySQL/MariaDB)或Include comments并确认用了--comments参数(PostgreSQL)。
- PostgreSQL 更麻烦:pg_dump 默认跳过注释,且恢复时
COMMENT ON COLUMN必须在CREATE TABLE之后执行,否则报relation does not exist - MySQL 下如果导出后没看到 COMMENT,回头检查是否在「高级」里漏勾
- 导出前可先点「预览」看生成的 SQL 是否含 COMMENT 子句,避免白忙
PostgreSQL字段注释为什么填了也不生效?必须手写COMMENT ON
Navicat 的「设计表」界面在 PostgreSQL 下只是摆设——你填了Comment列、点了保存、刷新表,注释依然不会入库。PostgreSQL 不通过表结构定义存字段注释,而是靠独立的COMMENT ON COLUMN命令。
真正生效的操作只有:打开查询窗口,执行原生 SQL:
COMMENT ON COLUMN users.email IS '唯一邮箱,用于登录和找回密码'; COMMENT ON TABLE users IS '用户主表,含注册与基础资料';
注意:需要具备目标表的OWNER权限或postgres角色,普通SELECT权限不够。
- Navicat 的可视化编辑器对 PostgreSQL 字段注释完全无写入能力
- 单引号要转义成两个单引号
'',或改用$$...$$界定符防截断 - 刷新后看不到注释?不是失败,是 Navicat 缓存了元数据,按
F5或右键「刷新」即可


















