使用mysql中的存储过程创建用户注册

时间:2017-12-08 18:11:16

标签: mysql stored-procedures user-registration

我正在尝试在mysql中创建用户注册存储过程,但是我收到错误。

查询

CREATE PROCEDURE `test`.`sp_register`(fullname VARCHAR(50), Mob VARCHAR(10), Email VARCHAR(50), pass VARCHAR(255))
BEGIN
DECLARE s VARCHAR(20);
IF EXISTS(SELECT id FROM users WHERE email = Email)
    THEN SET s = 'User already exists';
ELSE
    INSERT INTO users(`name`,`mobile`,`email`,`password`,`created_at`) 
        VALUES(fullname,Mob, Email, pass,CURRENT_TIMESTAMP())
        THEN SET s =  "User Registered"; 
END IF;


END

enter image description here

2 个答案:

答案 0 :(得分:0)

ELSE块中不需要“THEN”语句

IF EXISTS(SELECT id FROM users WHERE email = Email) THEN
    SET s = 'User already exists';
ELSE
    INSERT INTO users(`name`,`mobile`,`email`,`password`,`created_at`) 
      VALUES(fullname,Mob, Email, pass,CURRENT_TIMESTAMP())
    SET s =  "User Registered"; 
END IF;

https://dev.mysql.com/doc/refman/5.7/en/if.html

答案 1 :(得分:0)

马修回答说,你不需要“那么”。 在INSERT之后你也错过了一个分号。

相关问题