【发布时间】:2017-04-30 18:36:51
【问题描述】:
我正在尝试创建一个存储过程,该过程将采用两个参数(用户名和密码),并将创建一个对架构具有某些授权的用户。这是我目前拥有的:
CREATE PROCEDURE `create_admin` (
IN userName VARCHAR(60),
IN userPass VARCHAR(60))
BEGIN
CREATE USER userName@'%';
SET PASSWORD FOR userName@'%' = PASSWORD(userPass);
GRANT DELETE,EXECUTE,INSERT,SELECT, UPDATE ON kairos.* TO userName@'%';
SHOW GRANTS FOR userName@'%';
END
但是,密码给我带来了各种各样的麻烦。无论我做什么,我似乎都无法将变量粘贴到密码字段中,无论是使用 CREATE USER x IDENTIFIED BY y 语法,还是这个语法。我错过了什么?
【问题讨论】:
-
您需要为此使用动态查询
标签: mysql sql stored-procedures ddl