如何修复ERROR 1064(42000)语法错误?

时间:2019-08-14 04:16:49

标签: mysql sql

我使用update user set authentication_string=password("!QAZxsw2") where user="root";这种语法更改了root密码,但错误ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '("!QAZxsw2") where user="root"' at line 1仍然弹出。我不知道为什么请帮忙!

我已经用谷歌搜索了这个问题,大多数文章告诉我使用update user set authentication_string=password("!QAZxsw2")where user ="root";这种语法来更改我的root密码。我找不到在哪里弄错了。顺便说一句,我也尝试过此代码set password for root@localhost = password('!QAZxsw2');,但是仍然得到相同的结果。

mysql> update user set authentication_string=password("!QAZxsw2") where user="root";
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '("!QAZxsw2") where user="root"' at line 1

2 个答案:

答案 0 :(得分:0)

尝试在单引号中使用字符串值,例如,


update user set authentication_string=password('!QAZxsw2') where user='root';
查看链接-https://www.geeksforgeeks.org/mysql-change-user-password/

对于MySQL 5.7.6或更高版本,请使用命令

SET PASSWORD FOR 'root'@'localhost' = PASSWORD("!QAZxsw2");

答案 1 :(得分:0)

MySQL 5.7.5和更早版本

mysql>更新用户设置密码= PASSWORD(“!QAZxsw2”),其中User ='root';

MySQL 5.7.6及更高版本

mysql>为'root'@'localhost'= PASSWORD(“!QAZxsw2”);

或尝试使用以下命令,它在mysql8中对我有效:

mysql>为'root'='!QAZxsw2'设置密码;