CREATE USER 'Grant'@'localhost' IDENTIFIED BY 'bestpasswordever';
如何授予一个名为“Grant”的用户权限?它会抛出一个错误。
GRANT INSERT, DELETE
ON table
TO Grant@localhost;
错误:在此位置上'Grant'无效。期望一个标识符。
当使用保留字或者包含不合法字符的标识符作为标识符时,必须使用反引号。
GRANT INSERT, DELETE
ON table
TO `Grant`@localhost;
根据文档,使用单引号、双引号或反引号(`)引用用户名称和主机名称作为标识符或字符串。有关字符串引用和标识符引用的准则,请参见第9.1.1节“字符串文字”和第9.2节“模式对象名称”。但我是个纯粹主义者,在MySQL中对于标识符总是使用反引号。
GRANT INSERT,DELETE
ON table
TO 'Grant'@'localhost';
请查看文档中的第6.2.4节(指定帐户名称)。
帐户名称语法为'user_name'@'host_name'。