3

所以,我知道我可以为所有表使用通配符数据库。例如,如果我想为匹配数据库中的所有表授予用户选择权限,我可以:

GRANT SELECT
ON 'databasesprefix%'.*
TO testuser@localhost IDENTIFIED BY 'testpasswd';

但是,如果我想在所有匹配的数据库上向用户授予 UPDATE、DELETE、INSERT 权限,但仅限于特定表,则以下内容不起作用:

GRANT UPDATE, DELETE, INSERT
ON 'databasesprefix%'.specifictable
TO testuser@localhost IDENTIFIED BY 'testpasswd';

有没有办法在 SQL 中做到这一点?还是我必须在外部编写脚本?

4

1 回答 1

1

不,在 MySQL 中没有办法做到这一点。

http://dev.mysql.com/doc/refman/5.1/en/grant.html

priv_level:
    *
  | *.*
  | db_name.*
  | db_name.tbl_name
  | tbl_name
  | db_name.routine_name

rtm :)

于 2013-01-14T18:31:03.710 回答