确定性函数用“总是返回相同的结果集”来描述
这是什么意思?如果函数总是(无论如何)返回一个定义类型的值?如果是,那么我应该将此功能设为确定性吗?
FUNCTION AccToID(Acc VARCHAR)
RETURNS INT
BEGIN
RETURN (SELECT `ID` FROM account WHERE accountName=Acc);
END
它可以返回null(一个空集?)或INT,所以我猜它是非确定性函数
我对此感到困惑,如果我将此函数标记为确定性并且它将返回空值,那么它是未定义的行为吗?
也许我可以添加一个条件将 NULL 反转为-1,但这是自残的想法