有人觉得这有什么问题吗?为什么输出语法错误?
欢迎来到MySQL监视器。您的MySQL连接id是169个服务器版本:5.0.51a-3 ubuntu5.7 (Ubuntu)
键入“help;”或“\h”以表示帮助。键入'\c‘以清除缓冲区。
mysql>授予所有的特权。到'root'@'localhost‘->;查询确定,0行受影响(0.14秒)
由“m”和mysql>选项标识;错误1064 (42000):您的SQL语法出现错误;检查与MySQL服务器版本相对应的手册,以获得在第1行mysql>中使用“new_password”与mysql>选项标识的正确语法。
问候
贾维
发布于 2010-07-19 10:59:17
它不是分了两行吗,所以MySQL客户端把它理解为两个查询,而不是一个查询?
尝试将查询作为一行执行:
GRANT ALL PRIVILEGES ON . TO 'root'@'localhost' IDENTIFIED BY 'm' WITH GRANT OPTION;
发布于 2010-07-19 11:22:39
最后还有一个分号:
GRANT ALL PRIVILEGES ON . TO 'root'@'localhost' ;您可以将一个MySQL查询拆分成几行,这样编写它没有问题:
GRANT ALL PRIVILEGES ON . TO 'root'@'localhost'
IDENTIFIED BY 'm' WITH GRANT OPTION;但是,一旦MySQL看到分号(结束查询语句),它将执行缓冲区中的任何内容,在您的示例中,这是一个完整的、有效的查询(将所有特权授予根用户);但是第二行将成为一个新的查询:
IDENTIFIED BY 'm' WITH GRANT OPTION;它本身是无效的。
发布于 2010-07-19 11:01:18
你已经把一条语句分成了两部分。
https://stackoverflow.com/questions/3280418
复制相似问题