drop view error, view 不存在 (tidb3.0)

创建视图后 删除视图失败。tidb.log报错如下:Unknown table ‘tidb_bi.view_ad_income_day’"] [errorVerbose="[schema:1051]Unknown table ‘tidb_bi.view_ad_income_day’\ngithub.com/pingcap/errors.AddStack\ \tgithub.com/pingcap/errors@v0.11.4/errors.go:174\ github.com/pingcap/parser/

  1. 请问是什么版本?
  2. 麻烦给一下创建表 和 视图的 语句,我们测试下,多谢。

创建视图的语句,我重新创建并删除是可以的正常删除的,但是之前创建的视图没办法删除。版本是Release Version: v3.0.5

@willible

请问下之前创建的视图也是 3.0.5 版本时创建的吗?

是的呢,然后后面测试了很多次,都没有出现问题

这个问题我们本地测试下,辛苦提供下表结构和创建视图语句。

--视图SQL(简略版本)
create view view_ad_income_day  as
SELECT
	t1.date,
	t1.income,
	t2.* 
	from tidb_bi.kuaishou_income t1
	LEFT JOIN tidb_bi.income_category_detail t2 on t1.app_id = t2.app_id 
	AND t1.ad_code_id = t2.ad_code_id;
	

-- 建表语句
CREATE TABLE `kuaishou_income` (
  `date` varchar(255) DEFAULT NULL,
  `app_id` varchar(255) DEFAULT NULL,
  `app_name` varchar(255) DEFAULT NULL,
  `ad_code_id` varchar(255) DEFAULT NULL,
  `ad_code_name` varchar(255) DEFAULT NULL,
  `platform` varchar(255) DEFAULT NULL,
  `income` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;


-- 建表语句
CREATE TABLE `income_category_detail` (
  `ad_name` varchar(255) DEFAULT NULL,
  `app_id` varchar(255) DEFAULT NULL,
  `app_name` varchar(255) DEFAULT NULL,
  `platform` varchar(255) DEFAULT NULL,
  `category` varchar(255) DEFAULT NULL,
  `old_category_name` varchar(255) DEFAULT NULL,
  `old_category` varchar(255) DEFAULT NULL,
  `ad_type` varchar(255) DEFAULT NULL,
  `is_test` varchar(255) DEFAULT NULL,
  `ad_code_id` varchar(255) DEFAULT NULL,
  `ad_code_name` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

麻烦再补充一下报错的日志,前面的报错信息不太全。

删除视图报错.log (11.9 KB)

DROP VIEW 请使用以下语句
drop view view_ad_income_day;

日志中直接操作系统表的方式是不正确的,已经被该PRhttps://github.com/pingcap/tidb/pull/13028 禁用(3.0.6)

drop  view view_ad_income_day;
与select * from view_ad_income_day; 结果是一样的,提示表不存在;
昨天重启了PD和DB节点之后,view_ad_income_day 这个视图已经不存在了

我看到前面日志里面的操作方式是 delete from information_schema.tables where table_name = ‘view_ad_income_day’ …

再发下表不存在的日志吧,另外,现在还能复现问题吗?

这个是当时他们删除视图失败的截图,复现的话挺困难的,我试着执行一样的创建视图,再删除都是正常的。

drop_table.log (9.0 KB) 这个是当时查询与删除视图的日志

请问后面还有遇到报错吗?

没有了

好的,那后面遇到时再看看吧,现在没法复现不太好查问题。

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。