华为云云数据库rdsRDS for MySQL使用grant授权all privileges报语法错误_云淘科技

场景描述

通过grant授权,库名是英文可以正常授权,如果库名是数字就会报错:You have an error in your SOL syntax

库名是英文:

grant all PRIVILEGES  on aaaaa.*  to  'TA01'@'%';

库名是数字:

grant all PRIVILEGES  on 11111.*  to  'TA01'@'%';

原因分析

这个问题是语法上的错误,在MySQL中,为了区分MySQL的关键字与普通字符,引入一个反引号。英文键盘输入环境下,输入反引号( ` ),SQL语法正常执行。

解决方案

库名是数字时,数字前后加上反引号( ` ):

grant all PRIVILEGES  on `11111`.*  to  'TA01'@'%'; 

图1 执行成功

父主题: SQL类

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家