DBeaver不提供图形化添加字段注释功能,注释必须通过SQL语句写入数据库系统表,它仅执行和显示;因注释是数据库元数据(如USER_COL_COMMENTS、information_schema.COLUMNS),非DBeaver本地配置,故界面中字段Comment列只读,编辑无效。

直接说结论:DBeaver 本身不提供“图形化添加字段注释”的功能,所有字段注释必须通过 SQL 语句写入数据库系统表,DBeaver 只负责执行和显示。
为什么不能在 DBeaver 界面里双击字段填注释?
因为字段注释(COMMENT)是数据库对象的元数据,存储在 USER_COL_COMMENTS(Oracle)、information_schema.COLUMNS(MySQL/PostgreSQL)等系统视图中,不是 DBeaver 自己维护的本地配置。DBeaver 没有内置的“编辑注释弹窗”,它只读取、展示、执行——不生成。
- 你右键表 → “编辑表” → 字段列表里看到的“Comment”列是只读的(灰色不可编辑)
- 试图在“属性”面板里改字段描述,只会改 DBeaver 本地缓存,重启或重连就消失
- 所谓“添加注释”,本质是执行一条
COMMENT ON COLUMN或ALTER TABLE ... MODIFY ... COMMENT语句
Oracle 字段加注释的正确 SQL 写法
必须用 DBA 或具备 COMMENT ANY TABLE 权限的用户执行;普通用户只能给自己拥有的表加注释。
- 给已有字段加注释:
COMMENT ON COLUMN 表名.字段名 IS '这里是中文说明'; - 建表时直接带注释(Oracle 不支持,需分两步):
CREATE TABLE t1 (id NUMBER); COMMENT ON COLUMN t1.id IS '主键ID'; - 修改已有注释(覆盖写):再次执行
COMMENT ON COLUMN即可,无需先删 - 清空注释:把
IS后面的字符串设为空,即IS ''
执行完后,立刻在 DBeaver 查询结果标题栏就能看到效果(前提是已开启显示配置)。
MySQL / PostgreSQL 怎么加?语法差异要点
虽然 DBeaver 界面一样,但底层 SQL 完全不同,贴错会报错:
- MySQL:
ALTER TABLE 表名 MODIFY COLUMN 字段名 字段类型 COMMENT '说明';(必须重写类型)
或更安全的:ALTER TABLE 表名 CHANGE COLUMN 字段名 字段名 字段类型 COMMENT '说明'; - PostgreSQL:
COMMENT ON COLUMN 表名.字段名 IS '说明';(和 Oracle 一致,但注意大小写敏感,默认小写) - MySQL 8.0+ 支持
ALTER TABLE ... ALTER COLUMN ... SET COMMENT,但 DBeaver 当前版本导出 DDL 仍倾向用 MODIFY
加完注释却看不到?重点排查这三处
常见现象:SQL 执行成功,但查询结果标题栏还是只显示字段名,没注释。
- 没开 DBeaver 全局开关:
Window → Preferences → Editors → Data Editor → Appearance→ 勾选Show column description in header - Oracle 驱动没配参数:
oracle.jdbc.useRemarks=true和remarksReporting=true缺一不可(仅 Oracle 需要) - 权限或数据源问题:执行
SELECT * FROM USER_COL_COMMENTS WHERE TABLE_NAME = '你的表名',查不到结果说明注释根本没写进库,不是 DBeaver 的问题
最易忽略的是第三点——很多人以为执行了 COMMENT 就一定生效,其实 Oracle 里如果表在另一个 schema 下,要用 ALL_COL_COMMENTS 查,且当前用户得有 SELECT_CATALOG_ROLE 权限。


















