mysql - SQL授予创建表权限

标签 mysql sql sql-grant

我正在尝试授予新创建的用户创建表的能力。

我本来以为会是

GRANT CREATE TABLE ON databaseName.* TO userName_3;

但是,我在尝试执行此 SQL 语句时收到语法错误。

谁能告诉我为什么它不起作用? 谢谢

最佳答案

阅读此内容 SQL Server grand permission

GRANT CREATE ON SCHEMA :: databaseName TO userName_3;

对于MySQL

GRANT CREATE ON databaseName.* TO userName_3;

您不能使用TABLE在查询中

Table Privileges

表权限适用于给定表中的所有列。分派(dispatch) 表级权限,使用 ON db_name.tbl_name 语法:

将 mydb.mytbl 上的所有内容授予 'someuser'@'somehost';授予选择、插入 ON mydb.mytbl TO 'someuser'@'somehost';如果您指定 tbl_name 而不是 比 db_name.tbl_name 更适用于 tbl_name 中的语句 默认数据库。如果没有默认数据库就会出错。

表级别允许的 priv_type 值为 ALTER、CREATE 查看、创建、删除、删除、授予选项、索引、插入、引用、 选择、显示 View 、触发和更新。

表级权限适用于基表和 View 。他们不 适用于使用 CREATE TEMPORARY TABLE 创建的表,即使该表 名字匹配。有关 TEMPORARY 表权限的信息,请参阅 第 13.1.18.3 节 “创建临时表语法”。

MySQL 将表权限存储在 mysql.tables_priv 表中。

关于mysql - SQL授予创建表权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44040457/

相关文章:

php - 通过 MYSQL 验证 PHP 密码时出现问题

MYSQL 一对多 : acessing the primary key from the fitst table, 不是第二个的 Fk

sql - 有没有办法在 SQL> 中应用移动限制

sql - 如何从另一个模式中选择特定于 Oracle 模式的 View

sql - 从 pgAdmin 生成的 CREATE 语句中的 GRANT

mysql - MySQL通配符授予权限的区别

php - MySQL/FPDF : How to limit the data by each page in PDF

php - 需要帮助编写返回简单数组的疯狂复杂嵌套 MySQL 查询

sql - 获取日期前后一列的总和?

sql - 组合 AND OR 结果