【发布时间】:2018-05-06 03:33:51
【问题描述】:
我想检查一行是否存在,如果不存在,则向用户返回一条消息。 我做了以下测试并得到了结果:
CREATE DEFINER=`root`@`localhost` FUNCTION `ud_fnc_DoesUserNameExist`(userName varchar(200)) RETURNS int(11)
BEGIN
return exists(select `Id` from `ud_tbl_User` where `userName` = userName);
END
即使值不存在,此函数也会返回 1。
CREATE DEFINER=`root`@`localhost` FUNCTION `ud_fnc_DoesUserNameExist`(userName varchar(200)) RETURNS int(11)
BEGIN
return (select count(`Id`) from `ud_tbl_User` where `userName` = userName);
END
即使值不存在,此函数也会返回 1。
【问题讨论】:
-
不要为参数指定与列名相同的名称。
标签: mysql function count exists