当前位置:  开发笔记 > 后端 > 正文

mySQL存储过程where子句问题

如何解决《mySQL存储过程where子句问题》经验,为你挑选了1个好方法。

我有一个看起来像这样的mySql存储过程 -

delimiter |
create procedure GetEmployeeById(in ID varchar(45))
begin
  select id,
      firstName,
      lastName,
      phone,
      address1,
      address2,
      city,
      state,
      zip,
      username,
      password,
      emptypeid
  from myschema.tblemployees t
  where
      t.id=ID limit 1;
end |
delimiter;

如果我没有限制1,它总是返回表中的所有行 - 每个记录的id值设置为ID参数.为什么我不能只使用id = ID的地方,为什么我这样做会返回所有记录?我使用限制1的含义是什么?为什么我在星期六晚上编程?



1> MarkR..:

因为,它将t.id与自身进行比较,这将永远是真实的.调用你的形式参数别的东西.

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有