MySQL中函数的返回值
嗨,我尝试在MySQL中编写一个函数,它从表中返回一个值 我得到了一个错误: 错误代码:1415。不允许从函数返回结果集 我知道这意味着什么,但我不知道如何解决这个问题。我只需要一个值,插入行的Id。我很高兴能得到任何帮助 该函数的作用是: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
在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查询