我正在尝试授予新创建的用户创建表的能力。
我本来以为会是
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 表中。
block 引用>
关于mysql - SQL授予创建表权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44040457/