【发布时间】:2013-02-16 05:05:28
【问题描述】:
我在mysql中有一个函数,如下所示:
DELIMITER $$
CREATE DEFINER=root@localhost FUNCTION fnGetDropDownValue(
itemValue varchar(300),
DropDownId int,
CId int
) RETURNS int(11)
BEGIN
DECLARE listId int;
SELECT ListID into listId FROM DropDownListValues WHERE LOWER(ListValue) = LOWER(itemValue) AND DropDownListID = DropDownId AND (ClientId = 0 OR ClientId = CId);
RETURN listId;
END$$
但是当我使用 SELECT fnGetDropDownValue('General', 24, 18); 时它总是返回 Null 值
我不知道我做错了什么:(
【问题讨论】:
-
您检查过错误日志吗?你得到什么错误?您采取了哪些措施来解决此问题?
-
您是否尝试过直接在页面中查询?它会返回值吗?
-
我曾经在单独的窗口中检查执行选择查询并给出结果
-
如果将函数中的选择查询替换为简单的
SELECT 5 INTO listId,会发生什么情况?它仍然给你NULL吗? -
感谢 Alanyst 的帮助,我在 Windows 中注意到它不区分大小写。我将变量 listId 更改为 listId1,现在它可以工作了。