SQL 授予创建 table 权限

SQL Granting create table permissions

我正在尝试授予新创建的用户创建表的权限。

我还以为会是

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

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

将 mydb.mytbl 全部授予 'someuser'@'somehost';授予 SELECT,插入 在 mydb.mytbl 到 'someuser'@'somehost';如果您指定 tbl_name 而不是 比 db_name.tbl_name,该语句适用于 tbl_name 默认数据库。没有默认数据库会报错。

table 级别允许的 priv_type 值是 ALTER、CREATE 查看、创建、删除、删除、授予选项、索引、插入、引用、 SELECT、显示视图、触发器和更新。

Table 级权限适用于基础 table 和视图。他们不 适用于使用 CREATE TEMPORARY TABLE 创建的 table,即使 table 名字匹配。有关 TEMPORARY table 权限的信息,请参阅 第 13.1.18.3 节,“CREATE TEMPORARY TABLE 语法”。

MySQL 在 mysql.tables_priv table.

中存储 table 权限