|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
题目:使用MySQL Workbench,为teacher语句授予teaching_lab数据库中课程表和成绩表的查找、修改数据权限,不允许权限转移。
GRANT SELECT,ALTER
ON teaching_lab.课程表,成绩表 TO 'teacher'@'localhost';
运行结果错误:Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ',成绩表 TO 'teacher'@'localhost'' at line 2
这个语法哪里出错了?
teaching_lab是库名吗?我原本的库名不是这个,需要新建或更改吗?谢谢!!
抱歉,我误导了你。你完全正确,如果题目要求不允许权限转移,那么就不应该使用 "WITH GRANT OPTION"。
同时,我刚才给出的GRANT语句中,确实也存在一个错误。在一条GRANT语句中,我们无法同时对多个表授权。需要为每个表单独写一条GRANT语句。因此,你应该分别为课程表和成绩表授权,如下所示:
GRANT SELECT, UPDATE
ON teaching_lab.课程表
TO 'teacher'@'localhost';
GRANT SELECT, UPDATE
ON teaching_lab.成绩表
TO 'teacher'@'localhost';
这样,你将分别对课程表和成绩表授予“teacher”用户SELECT和UPDATE权限,并且不允许“teacher”用户将他们所拥有的权限授予其他用户。
对于你的另一个问题,“teaching_lab”确实应该是数据库的名称。如果你的数据库名称不是这个,你需要将上面的SQL语句中的“teaching_lab”替换为你的数据库名称。如果你的数据库中没有“课程表”和“成绩表”,你需要确保这两个表存在,或者替换为你的数据库中存在的表的名称。
|
|