No data - zero rows fetched错误提示

lienzhu 2013-09-11 09:01:18

存储过程中,加入这句语句
select lastupdate into s_lastupdate from pre_common_failedlogin where username='myname';
就提示
0 row(s) affected, 1 warning(s): 1329 No data - zero rows fetched, selected, or processed
前后没有用游标
...全文
719 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
知道就是你 2013-09-12
  • 打赏
  • 举报
回复
使用 select into 变量,如果变量为空时,引发一些不必要的问题,导致循环终断,要避免这个问题,只需在使用变量前判断变量值是否为空,如果不为空 在执行其他操作即可,完善后脚本如下:


CREATE DEFINER=`root`@`%` PROCEDURE `test`(
in P_UserName char(15),
out s_lastupdate int
)
BEGIN
select count(*) into @isnext from pre_common_failedlogin where username=P_UserName;
if(@isnext>0)  then 
select lastupdate into s_lastupdate from pre_common_failedlogin where username=P_UserName;
if s_lastupdate is null then
set s_lastupdate=0;
end if;

end if ;
END 
ACMAIN_CHM 2013-09-11
  • 打赏
  • 举报
回复
很正常,应该是没有符合条件的记录。
wwwwb 2013-09-11
  • 打赏
  • 举报
回复
select lastupdate into s_lastupdate from pre_common_failedlogin where username=P_UserName; 在命令行下运行,提示什么
lienzhu 2013-09-11
  • 打赏
  • 举报
回复
CREATE DEFINER=`root`@`%` PROCEDURE `test`( in P_UserName char(15), out s_lastupdate int ) BEGIN select lastupdate into s_lastupdate from pre_common_failedlogin where username=P_UserName; if s_lastupdate is null then set s_lastupdate=0; end if; END
wwwwb 2013-09-11
  • 打赏
  • 举报
回复
代码是什么,贴出来
yashifc 2013-09-11
  • 打赏
  • 举报
回复
select max(lastupdate) into s_lastupdate from pre_common_failedlogin where username='myname'; 加个函数应该就不会有警告了

56,940

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧