首页 > 解决方案 > 向名为“Grant”的用户授予权限?

问题描述

CREATE USER 'Grant'@'localhost' IDENTIFIED BY 'bestpasswordever';

如何向名为“Grant”的用户授予权限?它抛出一个错误。

GRANT INSERT, DELETE
ON table
TO Grant@localhost;

错误:“授予”在此位置无效。期待一个标识符。

标签: mysqlsqlgrant

解决方案


当使用保留关键字或带有其他非法字符的标识符作为标识符时,您必须使用反引号

GRANT INSERT, DELETE
ON table
TO `Grant`@localhost;

根据文档,撇号或双引号也可以:

使用反引号 (`)、单引号 (') 或双引号 (") 将用户名和主机名作为标识符或字符串引用。有关字符串引用和标识符引用指南,请参阅第 9.1.1 节, “字符串文字”和第 9.2 节,“模式对象名称”。

...但我是一个纯粹主义者,并且总是在 MySQL 中使用反引号作为标识符。


推荐阅读