用mysql中的过程创建用户

时间:2014-11-13 19:39:38

标签: mysql

我尝试使用过程创建用户帐户mysql但无法正常工作 问题是程序没有调用变量用户名 你有个主意吗

CREATE PROCEDURE databaseA.Test(username varchar(255))
CREATE USER username@'localhost' IDENTIFIED BY 'test';
  

CALL TEST(“Admin2”)

MySQLarépondu:文档

1396 - 'username'@'localhost'

的操作CREATE USER失败

1 个答案:

答案 0 :(得分:1)

我对这个问题的解决方案,希望对您有所帮助:

CREATE PROCEDURE DatabaseA.Test(IN username varchar(100), IN pwd varchar(255))
  BEGIN
    SET @createUserCMD = concat('CREATE USER ''', username, '''@''', 'localhost', '''IDENTIFIED BY ''', pwd, ''';');
    PREPARE createUserStatement FROM @createUserCMD;
    EXECUTE createUserStatement;
    DEALLOCATE PREPARE createUserStatement;   
  END//