当用于引用其他视图的视图时,SHOW FULL FIELDS FROM 在 MySQL 上失败

问题描述 投票:0回答:1

所有这些都在 MySQL 8.0.18 上使用具有完全权限的

root
用户进行测试

SHOW FULL FIELDS FROM first_view;

 引用其他表时,运行 
first_view
 会按预期工作。但是,对引用 
second_view
(或任何其他视图)的另一个视图 (
first_view
) 运行相同的操作会失败,并出现以下错误:

View 'second_view' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them. (Error #1356)
这不是由于“损坏”视图,因为我已经删除并重新创建了两个视图,并且它们都返回结果而没有任何问题。

任何人都可以帮忙解释一下吗?

更新1first_view

second_view
视图是什么似乎并不重要。不管怎样,这个问题都会发生。

更新 2:这只发生在 Google CloudSQL 托管数据库上,这让我认为这可能是由 DB 标志引起的。

mysql database-administration
1个回答
0
投票
Google Cloud 仍在使用版本 8.0.18 (8.0.18-google),并且经常出现此错误。视图本身工作正常,但 SHOW FIELDS 却不行...解决方法是删除视图并重新创建它。

© www.soinside.com 2019 - 2024. All rights reserved.