MySQL Error number: MY-010201; Symbol: ER_DD_VIEW_WITHOUT_DEFINER; SQLSTATE: HY000

文档解释

Error number: MY-010201; Symbol: ER_DD_VIEW_WITHOUT_DEFINER; SQLSTATE: HY000

Message: %s.%s has no definer (as per an old view format). Current user is used as definer. Please recreate the view.

Error Number MY-010201; Symbol ER_DD_VIEW_WITHOUT_DEFINER; SQLSTATE: HY000

错误说明

MY-010201错误(基于ER_DD_VIEW_WITHOUT_DEFINER符号和HY000 SQLSTATE)表示在MySQL服务器上尝试在没有定义者的情况下创建视图时发生的错误。

常见案例

当客户端尝试在MySQL服务器上创建具有没有定义者的视图时,将出现此错误。此错误也会在客户端对引用非存在表的视图执行查询时引发。

解决方法

为了解决此错误,必须通过指定一个定义者,来提供视图需要的必要信息。可以使用以下SQL语句创建定义:

CREATE VIEW AS , DEFINER=CURRENT_USER WITH GRANT;

或者

CREATE VIEW AS , DEFINER=@ WITH GRANT;

第二条SQL语句中,@ 应替换为定义者的有效数据库用户名和主机名。

就这样,您就能够通过具有定义者的视图创建在MySQL服务器上创建视图,而不会出现MY-010201错误。

你可能感兴趣的