我使用用户 root@'%' 创建了一个 View ,并将 SQL SECURITY 保留为默认 DEFINER。现在,出于安全原因我删除了该用户,其他人都无法访问该 View ...
ALTER SQL SECURITY INVOKER VIEW view_x;
给出错误“您的 SQL 语法有错误;请检查手册...第 1 行 '' 附近”
这是 MySQL 网站上的文档
改变 [算法={未定义|合并|诱人}] [定义者={用户|当前用户 }] [SQL 安全性 { 定义器 |祈求者}] VIEW View 名称 [(列列表)] AS select_语句 [与[级联|本地]检查选项]
我是否遗漏了一些明显的东西?
最佳答案
您遗漏了强制性的“AS select_statement”部分。您必须为 View 指定 sql。
ALTER SQL SECURITY INVOKER VIEW view_x AS ... insert your sql here ...;
关于MySQL 更改 View 安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18769814/