我创建了一个用户root @'%'的视图,将SQL SECURITY保留为默认DEFINER。现在我出于安全原因删除了该用户,没有其他人可以访问该视图......
ALTER SQL SECURITY INVOKER VIEW view_x;
给出错误“您的SQL语法出错;请查看手册......在第1行附近”
以下是MySQL网站上的文档
ALTER [ALGORITHM = {UNDEFINED | MERGE |不是Temptable}] [DEFINER = {user |当前用户 }] [SQL SECURITY {DEFINER | INVOKER}] VIEW view_name [(column_list)] AS select_statement [WITH [CASCADED | LOCAL] CHECK OPTION]
我错过了一些明显的东西吗?
答案 0 :(得分:2)
您遗漏了强制性“AS select_statement”部分。您必须为视图指定sql。
ALTER SQL SECURITY INVOKER VIEW view_x AS ...在这里插入你的sql ...;