Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果在mysql函数中,简单查询不起作用_Mysql_Sql - Fatal编程技术网

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

如果在mysql函数中,简单查询不起作用,mysql,sql,Mysql,Sql,我在函数中使用查询来获取数据库中的值,但它返回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 `ent

我在函数中使用查询来获取数据库中的值,但它返回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

我认为这是因为我没有在函数中选择返回字段值。
我如何才能做到这一点?

在开始和结束之间的第一个代码示例不会返回预期结果,因为此符号用于定义过程,而第二个示例是纯SQL DML

如果需要,可以阅读语法,特别是OUT参数

编辑:

试试这个:

create function GETSTATIC()
returns integer 
return (SELECT `value` FROM data WHERE `k` = 29 AND `entity` = "abr9f9" LIMIT 1);
那么你可以这样称呼它:

select GETSTATIC() as static;

我需要这个函数,因为我必须在其他查询中运行。现在有办法使用函数按预期返回值吗?有,请阅读我的链接文章,有一个关于创建函数的示例,例如返回CHAR(50)一个兼容但更完整的定义应该包括
DETERMINISTIC
返回INT
之后读取SQL数据。如果OP阅读了我链接的文章,他们也会知道这一点。