MYSQL:仅当用户不存在时创建并授予特权

MYSQL:仅当用户不存在时创建并授予特权,mysql,sql,Mysql,Sql,我想测试用户是否存在。如果是这样,我就什么也不做了。如果没有,我应该创建它并授予特权 我提出的概念代码是: IF EXISTS(SELECT 1 FROM mysql.user WHERE user = 'web_service_user' AND host = '%') THEN \! echo "EXISTS"; ELSE \! echo "DOES NOT"; END IF; 然而,当我运行此命令时,我得到以下输出: EXISTS

我想测试用户是否存在。如果是这样,我就什么也不做了。如果没有,我应该创建它并授予特权

我提出的概念代码是:

IF EXISTS(SELECT 1 FROM mysql.user WHERE user = 'web_service_user' AND host = '%') THEN 
   \! echo "EXISTS";
ELSE 
   \! echo "DOES NOT";
END IF;
然而,当我运行此命令时,我得到以下输出:

EXISTS
DOES NOT
ERROR 1064 (42000) at line 1 in file: 'test_conditional.sql': You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'ELSE 
   
END IF' at line 3
那么,如果用户存在,我如何在条件中进行测试

我知道:


但是,我仍然需要检查用户是否刚刚创建,以便知道我是否需要执行grant语句。

if语句仅可用于命名复合语句存储过程中。啊,好的。我不知道。这里有点新手。如果用户存在,我如何在条件中进行测试?选择存在时的案例从mysql中选择1.user,其中user='web\u service\u user'和host='%'然后'Exists'ELSE'不作为存在检查结束@阿雷洛维奇这可能会有帮助