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错误。