- 已关闭。**此问题需要debugging details。当前不接受答案。
编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
1分钟前关闭。
Improve this question
当我用给定的参数调用存储过程时,它将导致空表
这是用于创建和调用存储过程的mysql代码
DELIMITER $$
CREATE PROCEDURE showuser(in Id int, in thename varchar(20))
begin
select * from users where id < Id and name = thename;
end$$
DELIMITER ;
但会导致空表。
Output
1条答案
按热度按时间d7v8vwbk1#
参数名不区分大小写,因此
Id
参数的名称与id
列的名称相同,where id < Id
条件的计算结果为where id < id
,它永远不会为真,查询将不返回任何内容!解决这个问题的最简单方法是更改参数名,即
uid
。另一个选项是将列名限定为以下形式:
demo