mysql - 为什么我的程序返回的值与我的查询不同?

标签 mysql stored-procedures

未正确返回的过程如下:

CREATE DEFINER=`hs`@`%` PROCEDURE `GetUser_id`(in id int)
BEGIN
    select * from hackstart.users where ID=id;
END

我称之为使用

call GetUser_id(2);

我希望这会返回相同的

select * from hackstart.users where `ID` = 2;

返回单行。但是,该过程返回整个表。任何人都可以指出我哪里出错了以及为什么不正确。

最佳答案

正如 Ryan 和 xQbert 所说,问题是参数与列名同名,这是一个不区分大小写的问题

关于mysql - 为什么我的程序返回的值与我的查询不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43263296/

相关文章:

java - 存储过程未在 jsp 中显示结果

postgresql - 选择并使用一列

mysql - 字段包含不同表的外部 ID

MySQL 错误代码 : 1193. 未知系统变量

mysql - Windows批处理文件创建MySQL转储添加变量

oracle - 对 WHERE 子句中的参数使用 DECODE 会短路使用索引吗?

sql - 临时存储过程范围

sql-server - 为什么 SSMS 会更改我的存储过程(重新格式化、将 exec 更改为 EXECUTE 等)

java - 如何使用lucene索引pdf文件

php - PHP必须检查数据库连接错误