我正在尝试将访问权限授予具有“管理器”访问权限的特定用户。他们能够SELECTUPDATE但仅限于他们自己组的人。DBredflame和tablepayroll
桌子的一部分是:

+------+---------+--------+-----------+--------+
| Dept | Manager | Name   | Birthdate | Salary |
+------+---------+--------+-----------+--------+
|    1 | Y       | BOB    | 1/1/1     |  50000 |
|    1 | N       | BILL   | 2/2/2     |  40000 |
|    1 | N       | BART   | 3/3/3     |  70000 |
|    2 | Y       | JIM    | 4/4/4     |  40000 |
|    2 | N       | JANET  | 5/5/5     |  50000 |
...

我只想允许经理的SELECTUPDATE特权,但只允许他的组的特权。我试过了,
GRANT SELECT (Dept, Manager, Name, Birthdate),
      UPDATE (Dept, Manager, Name, Birthdate)
   ON redflame.payroll WHERE Dept = '1'
   TO 'Bob'@'localhost';

我知道这是行不通的,但是你如何根据他的许可来实现Bob
任何帮助都将不胜感激。

最佳答案

为每个部门创建一个视图并授予这些部门的权限。

10-08 19:55