Navicat 16 不支持一键导出整库/单表为 Markdown,但可通过「对象信息→列」视图复制带注释的字段结构为 Markdown 表格,需确保注释已真实写入数据库元数据(如 MySQL 用 InnoDB、PG 手动执行 COMMENT ON COLUMN),并手动添加表名与表注释。
navicat 16 本身不支持“一键导出整库/单表为 markdown 文档”,但可以组合使用「对象信息」+「复制为 markdown 表格」+ 少量手动整理,实现快速产出带字段注释的结构文档——前提是注释已真实写入数据库元数据。
确认字段注释是否已生效,否则复制出来全是空
Navicat 的「复制为 Markdown 表格」只读取数据库实际存储的 COLUMN_COMMENT,不是界面上你随便填过的本地缓存。常见失效原因:
- MySQL 表用了
MyISAM引擎:不支持字段级COMMENT,必须是InnoDB - PostgreSQL 没执行过
COMMENT ON COLUMN:Navicat 图形界面在 PG 连接下不暴露字段注释输入框,必须手写 SQL 补充 - 字段注释超长被截断:MySQL 限制 1024 字符,超出部分不会入库,
SHOW FULL COLUMNS也查不到 - 连接字符集未设为
utf8mb4:中文注释显示为空或乱码,检查 Navicat 连接「高级」页签中characterSet=utf8mb4是否启用
用「对象信息 → 列」视图复制,不是「设计表」
很多人在「设计表」里填了 Comment,却复制不出内容——因为那个只是本地编辑态,不触发 DDL。真正能被复制的注释,必须来自「对象信息」窗口:
- 右键目标表 → 选择「对象信息」
- 顶部切换到「列」页签
- 确保「Comment」列可见(若不可见,右键列头 → 勾选「Comment」)
- 全选所有行(Ctrl+A),右键 → 「复制为 Markdown 表格」
复制结果类似:
|列名|类型|允许为空|默认值|注释| |---|---|---|---|---| |id|BIGINT|NO||主键ID| |status|TINYINT|YES|NULL|0=待审核,1=已通过,2=已拒绝|
补上表名、表注释和标题,5秒搞定基础文档
「复制为 Markdown 表格」只给字段结构,没有表名和表注释。你需要手动加两行:
- 先在「对象信息」→「常规」页签里复制
Table comment的内容(如「用户登录日志表」) - 在 Markdown 表上方加标题:
## user_login_log — 用户登录日志表 - 如果需要多张表,每张表之间空一行,再加下一个
##标题即可
注意:不要依赖「数据库快照」导出 HTML 再转 Markdown——那适合整库结构归档,单表场景太重,且容易因 title 属性未提取导致类型丢失(如 DATETIME 变成 VARCHAR)。
导出前最后检查三件事
哪怕步骤都对,也可能因三个细节导致文档无效:
-
Comment列是否真的有内容?别只看「设计表」里的灰色输入框,要切到「对象信息 → 列」里亲眼确认 - 复制时是否全选了全部列(含 Comment 列)?漏掉这一列,整张表就只剩空注释
- 粘贴到 Markdown 编辑器后,是否手动删掉了第一行多余的空格或制表符?有些编辑器会把首行缩进识别为代码块
真正卡住人的从来不是操作步骤,而是以为注释“已经填了”,其实它根本没进数据库元数据。


















