mysql - 授予对通配符数据库但特定表的权限

标签 mysql database sql-grant

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

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 中做到这一点?还是我必须在外部编写脚本?

最佳答案

没有。 在 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 :)

关于mysql - 授予对通配符数据库但特定表的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14323835/

相关文章:

c# - C# 中的 MySqlDataReader 没有行

mysql - 如果(作为一个组)满足条件,则获取表中的每一行

php - 跨 session 的用户特定内容建议 [MySQL/Web]

mysql 查询显示查询中为空

ORACLE PL/SQL - 授予/撤销权限

php - 将行移动到另一个表并插入附加值

mysql - 删除 SQL 表是否会重置其 ID 值?

database - 仅列出 Oracle 临时表空间

mysql - SQL 是否可以在 GRANT SELECT 语句中添加 WHERE 子句?

mysql - GRANT 在 MySQL 中使用数据库名称通配符?