文档首页/ 云数据库 RDS/ 故障排除/ RDS for MySQL/ SQL类/ RDS for MySQL使用grant授权all privileges报语法错误
更新时间:2023-11-03 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'@'%';