mysql> insert into user (host, user, password) values ('%', 'root', 'password'); ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
时间: 2023-07-05 20:32:46 浏览: 286
mysql #1062 –Duplicate entry '1' for key 'PRIMARY'
5星 · 资源好评率100%
这个错误是因为在执行 `insert` 语句时,已经存在一条 `host` 字段值为 `'%'`,`user` 字段值为 `'root'` 的记录,而这两个字段共同构成了主键,因此无法再插入一条相同的记录。
解决这个问题的方法是,先删除已经存在的 `root@%` 记录,再重新插入一条 `root@%` 的记录。具体操作如下:
```sql
mysql> delete from user where user='root' and host='%';
mysql> insert into user (host, user, password) values ('%', 'root', 'password');
mysql> flush privileges;
```
上面的操作先删除了已经存在的 `root@%` 记录,然后再插入一条 `root@%` 的记录,最后刷新权限使修改生效。
阅读全文