我创建了具有多个 IN 参数的 MySQL 过程。我想用很少的参数调用过程,但是当我将其他字段留空时,它会显示此错误:
DELIMITER $$
CREATE DEFINER=itzakeed_akeed@localhost PROCEDURE ApiKez(
IN Choice VARCHAR(100),
IN ValidKey VARCHAR(100),
IN azid INT(5),
IN amts FLOAT(50)
)
BEGIN
DECLARE GetKey VARCHAR(100);
DECLARE Balance FLOAT;
CASE WHEN Choice='KeyCheck' THEN
SELECT COUNT(id) INTO GetKey
FROM users
WHERE api_key=ValidKey;
if key is valid
IF GetKey=1 THEN
SELECT *
FROM users
WHERE key=ValidKey;
ELSE
SELECT 0;
END IF;
ELSE
SELECT "INVALID INPUT CHOICE";
END CASE;
END
$$
DELIMITER ;
最佳答案
不,您不能调用参数少于所需参数的过程。但是,您可以传递 null 或空字符串,并检查参数是否具有存储过程中的值。
关于当您只能传递一个参数时,具有多个参数的 MySQL 过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53451483/