对通配符数据库的GRANT权限,但是特定的表

时间:2013-01-14 17:52:21

标签: mysql database grant

所以,我知道我可以为所有表通配一个数据库。例如,如果我想为匹配数据库中的所有表授予用户select,我可以:

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中实现这一点?或者我必须在外部编写脚本吗?

1 个答案:

答案 0 :(得分: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:)