这是因为知识反馈数据集不会按普通图表卡片引用关系展示在数据集详情页里,它的关联关系通常记录在 `card_to_data_source` 表中。
处理方式是先查出哪个卡片开启了知识反馈,再到对应卡片中关闭知识反馈配置,最后再删除该知识反馈数据集。
可使用以下 SQL 快速定位:
```sql
SELECT
r.cd_id,
c.name AS card_name,
COALESCE(c.pg_id, pcr.pg_id) AS pg_id,
p.name AS page_name,
r.ds_id AS feedback_ds_id,
r.ctime,
r.utime
FROM card_to_data_source r
LEFT JOIN card c
ON c.cd_id = r.cd_id
AND c.is_del = 0
LEFT JOIN page_card_rel pcr
ON pcr.cd_id = r.cd_id
AND pcr.is_del = 0
LEFT JOIN page p
ON p.pg_id = COALESCE(c.pg_id, pcr.pg_id)
AND p.is_del = 0
WHERE r.ds_id = '需要删除的知识反馈数据集ID'
AND r.type = 0
AND r.is_del = 0;
```
说明:
`r.type = 0` 表示卡片反馈/知识反馈关系。如果也想排查“分析结果存储”关系,可以去掉 `AND r.type = 0`,或改查 `r.type = 1`。
查到结果后,根据 `card_name`、`page_name` 或 `cd_id` 找到对应卡片,关闭该卡片的知识反馈配置。关闭后再次删除该数据集即可。
|