创建视图后,系统表 INFORMATION_SCHEMA.TABLES 里能查询到相关表信息,但 INFORMATION_SCHEMA.COLUMNS查不到相关字段信息

一个好的问题描述有利于社区小伙伴更快帮你定位到问题,高效解决你的问题

【TiDB 使用环境】生产环境
【TiDB 版本】v7.1.5
【部署方式】机器部署
【问题复现路径】
创建一个视图:
CREATE ALGORITHM = UNDEFINED DEFINER = test @x.x.x.x. SQL SECURITY DEFINER VIEW view_name (
id,
name,
czd_mc
) AS
SELECT ……

查询1:
select * from INFORMATION_SCHEMA.TABLES t where TABLE_NAME = ‘view_name’;
有一条数据

查询2:
select * from INFORMATION_SCHEMA.COLUMNS c where TABLE_NAME = ‘view_name’;
没有数据

1 个赞

没复现这个问题。。。所有的view都不行吗?

1 个赞

部分视图不行,在TiDB-v7.5.6上好像也是正常的;

1 个赞

INFORMATION_SCHEMA.VIEWS的VIEW_DEFINITION里应该有

1 个赞

若生产环境允许升级,建议升级到 TiDB v7.2.0 及以上版本(该版本修复了视图列元数据写入的缺陷)

1 个赞

TiDB v7.1.5 在视图元数据的处理上存在 版本兼容性问题

1 个赞

视图哪里来的字段定义啊