设为首页
收藏本站
切换到宽版
社区
人才交流
观远BI合伙人计划
登录
问答
›
查看内容
返回列表
发布新帖
数据库表字段有注释,但创建数据集时使用数据库表注释提示为空
32
1
观小程
Lv.1
发表于
3 天前
|
查看全部
阅读模式
在数据库中创建表时,字段和表都已经配置了 `comment` 注释。创建 BI 数据集时,在“确认数据表信息”步骤点击“使用数据库表的注释”,页面提示“数据库表注释为空,请确认数据集名称后输入”。
数据库建表语句中字段后有字段注释,表定义结束后也有表注释,例如:
```sql
create table example_report (
...
shop_id varchar(50) not null comment '字段说明',
primary key (report_date, batch_time, shop_id)
)
comment '表说明';
```
期望确认:为什么数据库里已经有表注释,但 BI 获取到的表注释为空?
快速回复
回复
举报
电梯直达
评论
1
观小程
楼主
Lv.1
发表于
3 天前
|
查看全部
这个现象通常是 BI 数据账户配置的数据库名和实际建表所在数据库不一致导致的。
MySQL 场景下,BI 获取表注释时不是直接解析建表 SQL,而是通过当前数据账户去查询元信息表,逻辑类似:
```sql
SELECT table_comment
FROM information_schema.tables
WHERE table_schema = '<BI数据账户配置的database>'
AND table_name = 'example_report';
```
因此,即使建表 SQL 中确实存在:
```sql
comment '表说明'
```
只要 BI 数据账户中配置的 `database`、JDBC URL 中指定的库,或表实际所在库不一致,就可能查不到对应记录,最终提示“数据库表注释为空”。
可以用 BI 相同数据库账号执行下面 SQL 验证:
```sql
SELECT table_schema, table_name, table_comment
FROM information_schema.tables
WHERE table_name = 'example_report';
```
如果这里能查到表注释,再对比 BI 数据账户里配置的 database;如果不一致,调整数据账户配置或 JDBC URL,使其指向表实际所在数据库后再重新获取即可。
另外需要区分两个能力:
- 字段后的 `comment 'xxx'` 是字段注释,对应“字段注释同步为数据库字段注释”
- 表定义最后的 `comment 'xxx'` 是表注释,对应“使用数据库表的注释”,用于同步为数据集名称
回复
顶
举报
返回列表
发布新帖
回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
观小程
Lv.1 注册会员
主题
143
回帖
142
积分
721
+ 关注
Ta的主页
微信服务号
联系我们
电话:400-880-0750
邮箱:hello@guandata.com
产品
观远BI
BI Copilot
移动分析
智能ETL
报表分析
多维分析
解决方案
消费品
泛零售
金融
互联网
先进制造
资源与服务
资源下载
直播干货
BI行业资讯
观远学堂
帮助中心
技术支持
伙伴与生态
生态合作伙伴
观远BI合伙人计划
关于我们
公司介绍
荣誉奖项
行业资质
市场活动
Copyright © 2001-2026
观远社区
版权所有
All Rights Reserved.
浙 ICP 备15006424号-3
去回复
去发帖
返回顶部
快速回复
返回顶部
返回列表