CREATE USER IF NOT EXISTS ...
一个新用户可以轻松创建。但是一个已存在的用户返回错误,但文档中写道
CREATE USER
适用于 MySQL > 5.7.6。
MySQL 版本为
Ver 14.14 Distrib 5.7.11, for osx10.9 (x86_64) using EditLine wrapper
示例
<root:none> CREATE USER IF NOT EXISTS 'foo'@'localhost' IDENTIFIED BY 'bar';
--------------
CREATE USER IF NOT EXISTS 'foo'@'localhost' IDENTIFIED BY 'bar'
--------------
Query OK, 0 rows affected (0.00 sec)
<root:none> CREATE USER IF NOT EXISTS 'foo'@'localhost' IDENTIFIED BY 'bar';
--------------
CREATE USER IF NOT EXISTS 'foo'@'localhost' IDENTIFIED BY 'bar'
--------------
ERROR 1396 (HY000): Operation CREATE USER failed for 'foo'@'localhost'
有什么建议吗?
IF NOT EXISTS
能够像其他地方一样处理这个错误。这是一个已知的 bug 还是我使用不正确? - Vishalselect * from user where user='name';
或者从此查询中获取计数。或者,由于您正在创建用户,因此必须授予用户权限。在mysql中,如果尚未创建用户,则可以使用授权命令创建用户,例如GRANT ALL PRIVILEGES ON db_name.* TO 'user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
授权将创建用户(如果尚未存在)。 - Nagendra Nigade