MySQL中函数的返回值

MySQL中函数的返回值,mysql,sql,function,return-value,stored-functions,Mysql,Sql,Function,Return Value,Stored Functions,嗨,我尝试在MySQL中编写一个函数,它从表中返回一个值 我得到了一个错误: 错误代码:1415。不允许从函数返回结果集 我知道这意味着什么,但我不知道如何解决这个问题。我只需要一个值,插入行的Id。我很高兴能得到任何帮助 该函数的作用是: 在aip_请求表中插入一个新行,使用一个随机值,这样我可以在插入后识别该行。函数应返回所创建行的Id。 请求id是一个自动值 DROP FUNCTION IF EXISTS `sp_get_new_request_id`; DELIMITER $$ CRE

嗨,我尝试在MySQL中编写一个函数,它从表中返回一个值

我得到了一个错误:

错误代码:1415。不允许从函数返回结果集

我知道这意味着什么,但我不知道如何解决这个问题。我只需要一个值,插入行的Id。我很高兴能得到任何帮助

该函数的作用是:
在aip_请求表中插入一个新行,使用一个随机值,这样我可以在插入后识别该行。函数应返回所创建行的Id。 请求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
$$
更改此查询-

SELECT @random := CAST(RAND(NOW()) AS CHAR(150));
用这个-

SET @random := CAST(RAND(NOW()) AS CHAR(150));
…无法执行从存储函数返回数据集的SELECT查询