Navicat中注释未进数据库、导出无COMMENT、团队不可见,根本原因是入口错误或开关未开:表注释须通过“对象信息→选项页”触发ALTER TABLE COMMENT,字段注释须在“对象信息→列页”填写并保存,导出时必须勾选“Include comments”,ER图需手动启用“显示表/字段注释”且禁用元数据缓存。
navicat 里填了注释却没进数据库、导出 sql 没带 comment、团队成员看不到——问题几乎都出在入口选错或开关没开。
表注释必须走「对象信息」→「选项」页,不是「设计表」底部那个框
「设计表」界面最下方的 Comment 输入框只是 Navicat 本地缓存,点保存也不会执行 ALTER TABLE ... COMMENT。真要写入数据库元数据(让 SHOW CREATE TABLE 和下游工具如 DBeaver 能读到),必须:
- 右键表 → 「对象信息」→ 切换到「选项」页 → 填写
Comment→ 点「保存」(此时 Navicat 会自动生成并执行ALTER TABLE `t` COMMENT = 'xxx') - MySQL 5.7+ / MariaDB 支持;SQLite 完全不支持;PostgreSQL 和 SQL Server 不走这条路,得用专用语法
- 如果连接配置里勾选了
Disable metadata cache,即使写了,information_schema.TABLES也查不到,ER 图更不会显示
字段注释不能靠「设计表」里右键列头勾选 Comment 列
这个操作只影响 Navicat 当前界面显示,不发 DDL,SHOW FULL COLUMNS 或 ORM 都看不到。正确路径是:
- 右键表 → 「对象信息」→ 「列」页签 → 找到目标字段 → 在右侧
Comment栏填写 → 点「保存」(MySQL 触发MODIFY COLUMN,PostgreSQL 触发COMMENT ON COLUMN) - MySQL 字段注释长度上限
1024字符,超长静默截断,无提示 - PostgreSQL 下,「设计表」界面填的
Comment列完全无效,必须走「对象信息」→「列」→填→保存,否则注释不会写入pg_description
导出 SQL 时 COMMENT 不出现?检查「Include comments」是否勾选
哪怕你在「对象信息」里填得再完整,导出向导默认不包含注释语句。关键步骤:
- 导出结构 → 进入「高级」选项卡 → 必须勾选
Include comments - MySQL/MariaDB 模式下,它控制是否输出
COMMENT = 'xxx';PostgreSQL 模式下,它决定是否生成COMMENT ON COLUMN语句 - 导出前先点「预览」,搜一下
COMMENT,确认字段和表注释都出现在 SQL 里 - 别依赖「设计表」界面右下角的「SQL 预览」按钮——它只预览字段增删改,不反映注释变更
ER 图里想看到注释?两个开关缺一不可
逆向建模后,ER 图默认不渲染任何注释,哪怕数据库里已存在。必须手动启用:
- 确保当前在「模型」视图(不是数据库连接列表),右侧属性窗格可见
- 顶部菜单点「图表」→ 勾选「显示字段注释」和「显示表注释」
- 如果仍不显示,回头检查数据库连接的「高级」设置:
Disable metadata cache一定不能勾选 - 注意:ER 图里的「文本批注」(双击空白处写的字)只是绘图层贴纸,不存库、不导出、不版本控制,换电脑就丢
最易被忽略的一点:批量加注释时,别逐个开「对象信息」窗口——上百个字段极易漏、难复核。直接在 Navicat 查询窗口跑标准 SQL 更稳,还能留痕、可备份、能复用。


















