2017-12-08 9 views
0

mysqlでユーザー登録ストアドプロシージャを作成しようとしていますが、エラーが発生しています。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

答えて

0

マシューは、あなたに答えとして、あなたはELSEブロック

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

+0

「THEN」を削除した後にエラーが表示される – Sandeep

0

で "THEN" ステートメントを必要としませんドン' "THEN"が必要です。 INSERTの後にセミコロンもありません。

関連する問題