Skip to content

Instantly share code, notes, and snippets.

@rashfael
Created September 17, 2015 20:40
Show Gist options
  • Save rashfael/fef018a57d51cc66a7d5 to your computer and use it in GitHub Desktop.
Save rashfael/fef018a57d51cc66a7d5 to your computer and use it in GitHub Desktop.
DELIMITER $$
CREATE PROCEDURE create_user(username TEXT, passwordhash TEXT)
BEGIN
DECLARE temp TEXT;
SELECT user FROM mysql.user WHERE user = username INTO temp;
IF temp = username THEN
SIGNAL SQLSTATE '45002' SET MESSAGE_TEXT = 'username already exists';
ELSE
SET @s = CONCAT('CREATE USER \'', username, '\'@localhost IDENTIFIED BY PASSWORD \''+passwordhash+'\'');
PREPARE stmt_create FROM @s;
EXECUTE stmt_create;
DEALLOCATE PREPARE stmt_create;
FLUSH PRIVILEGES;
END IF;
END $$
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment