navicat 16 不支持批量隐藏字段,所有隐藏操作必须逐表、逐字段手动设置:在数据网格中右键选择「显示/隐藏列」,取消勾选目标字段,该状态仅限当前连接、用户及窗口,不跨表复用、不持久化、不保存配置。
navicat 16 没有“批量隐藏字段”的可视化功能——你无法一次勾选多个列并统一隐藏,所有隐藏操作都必须逐表、逐字段手动设置。
数据网格中隐藏字段只能单表逐次操作
所谓“可视化界面”在 Navicat 16 中实际指的就是打开表后的 data grid(数据网格)。这里的隐藏列是纯 UI 层行为,不涉及模型或 SQL 逻辑:
- 双击打开一张表(如
orders),进入数据查看页 - 在任意列标题上右键 → 选择「显示/隐藏列」
- 在弹出对话框里,**取消勾选你想隐藏的字段**(比如
created_at、updated_by、is_deleted) - 确认后立即生效,但该状态只保留在当前连接、当前用户、当前窗口下
⚠️ 注意:这个操作不能跨表复用。哪怕两张表结构完全一样,你也得对每张表重复一遍右键 → 勾选 → 确认流程。Navicat 不提供「保存列显示配置」或「应用到同名表」选项。
Navicat Data Modeler 里删字段 ≠ 隐藏,且不批量支持
如果你是在 ER 图或模型设计器(Data Modeler)里想“隐藏字段”,那其实没有隐藏一说——只有删除:
- 双击打开实体 → 切到
Fields标签页 - 选中某字段 → 按
Delete键(不是禁用,是彻底从模型中移除) - 若字段被外键引用,会弹出依赖提示,必须先解除关系连线才能删
这个动作不会影响数据库,但会影响后续正向工程生成的 DDL;而且它依然不支持多选字段后批量删除——Ctrl+点击选中多个字段后,右键菜单里也没有「删除所选字段」项。
别指望工具栏“列”按钮能批量操作
Navicat 16.1+ 在工具栏加了「列」按钮,但它只是快捷入口,功能和右键菜单完全一致:
- 点击后仍弹出同一张字段勾选对话框
- 没有筛选条件(如“隐藏所有时间戳字段”)、没有正则匹配、没有按类型分组
- 不记录历史操作,也不支持导出/导入列显示配置
也就是说,这个按钮只是少了一次右键,没减少任何操作步骤。真要处理几十张表,靠它还是得点几十次。
真正省事的路子:用 SQL + 正则替代“隐藏”思维
如果你频繁面对大量冗余字段,与其在 UI 上反复隐藏,不如换思路——直接写查询时显式指定字段:
- 把
SELECT *改成SELECT id, name, status等核心字段 - 用视图封装常用字段组合:
CREATE VIEW v_orders_core AS SELECT id, name, amount, created_at FROM orders - 后续在 Navicat 里查
v_orders_core,天然就只有你要的列
这才是可复用、可共享、不依赖客户端状态的做法。UI 隐藏列最大的陷阱,就是让人误以为“已经精简了”,结果导出、复制、写脚本时又冒出一堆不需要的字段。
最容易被忽略的一点:Navicat 对“隐藏列”状态的持久化非常弱。重启软件、切换连接、甚至只是关闭再打开同一个表,都可能让之前隐藏的列重新出现——它根本不存配置文件,也不同步到服务端。











