更新时间:2023-09-05 GMT+08:00
RDS 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类