我正在尝试在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
答案 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;
答案 1 :(得分:0)
马修回答说,你不需要“那么”。 在INSERT之后你也错过了一个分号。