gpt4 book ai didi

mysql - 如果在 mysql 函数内,简单查询不起作用

转载 作者:行者123 更新时间:2023-11-29 08:10:39 26 4
gpt4 key购买 nike

我正在函数内使用查询来获取数据库中的值,但它返回 NULL。函数外部的相同查询工作正常。

我的功能

BEGIN
RETURN (SELECT `value` FROM data WHERE `k` = 29 AND `entity` = "abr9f9" LIMIT 1);
END

使用函数和相同的原始查询进行测试

SELECT 
GETSTATIC() AS static,
(SELECT `value` FROM data WHERE `k` = 29 AND `entity` = "abr9f9" LIMIT 1) AS raw

正在返回

static     raw
------ ---
NULL 175

我认为这是因为我没有在函数中选择返回字段 VALUE。
我该怎么做?

最佳答案

第一个代码示例(位于 BEGIN 和 END 之间)不会返回预期结果,因为此表示法用于定义过程,而第二个示例是纯 SQL DML。

如果您愿意,您可以阅读 CREATE PROCEDURE语法,特别是关于 OUT 参数。

编辑:

试试这个:

create function GETSTATIC()
returns integer
return (SELECT `value` FROM data WHERE `k` = 29 AND `entity` = "abr9f9" LIMIT 1);

那么你可以这样调用它:

select GETSTATIC() as static;

关于mysql - 如果在 mysql 函数内,简单查询不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21688666/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com