嗨,我尝试在 MySQL 中编写一个函数,它会从表中返回一个值。
我收到错误:
错误代码:1415。不允许从函数返回结果集
我知道这意味着什么,但我不知道如何解决这个问题。我只需要一个值,即插入行的 Id。我很高兴有任何帮助。
该函数的作用是:
在 aip_request 表中插入一个新行,带有一个随机值,这样我就可以识别插入后的行。该函数应返回创建行的 ID。request_id 是一个自动值。
DROP FUNCTION IF EXISTS `sp_get_new_request_id`;
DELIMITER $$
CREATE FUNCTION `sp_get_new_request_id` ()
RETURNS BIGINT
BEGIN
DECLARE var_random bigint;
SET @random := CAST(RAND(NOW()) AS CHAR(150));
INSERT INTO aip_request
(Firstname)
VALUES( @random );
SELECT request_id INTO var_random FROM aip_request
WHERE Firstname = @random
LIMIT 1;
Return var_random;
END
$$