mysql - 为什么我无法修复 MySQL 错误 #1064?与 DECLARE CheckExists int 相关的语法;
问题描述
我收到错误 #1064“语法错误”。我尝试更改变量的名称 DECLARE CheckExists int;
并将其与 mysql 8 语法进行比较,但仍然无法正常工作!!下面是我的存储过程代码。并扫描错误消息 有
CREATE DEFINER=`root`@`localhost` PROCEDURE `INSERT_JP_USERS`(
IN `Email_Param` VARCHAR(50),
IN `First_Name_Param` VARCHAR(50),
IN `Middle_Name_Param` VARCHAR(50),
IN `Last_Name_Param` VARCHAR(50),
IN `Gender_Param` VARCHAR(50),
IN `Phone_Number_Param` VARCHAR(50),
IN `Summary_Param` VARCHAR(50),
IN `Experience_Param` INT,
IN `Profile_Img_Param` VARCHAR(50),
OUT `Result_Param` INT
)
LANGUAGE SQL
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT ''
BEGIN
DECLARE CheckExists int;
SELECT count(*) INTO CheckExists FROM jp_users WHERE email = Email_Param;
IF (CheckExists > 0) THEN
UPDATE jp_users SET first_name = First_Name_Param, middle_name = Middle_Name_Param, last_name = Last_Name_Param,
gender = Gender_Param, phone_number = Phone_Number_Param, summary = Summary_Param, experience = Experience_Param, profile_img = Profile_Img_Param WHERE email = Email_Param;
SET Result_Param = 0;
SELECT Result_Param;
ELSE
INSERT INTO jp_users (email, first_name, middle_name, last_name, gender, phone_number, summary, experience, profile_img)
VALUES (Email_Param, First_Name_Param, Middle_Name_Param, Last_Name_Param, Gender_Param, Phone_Number_Param, Summary_Param, Experience_Param, Profile_Img_Param);
SELECT COUNT(*) INTO Result_Param FROM jp_users WHERE email = Email_Param;
SELECT Result_Param;
END IF;
END