使用SELECT的MySQL过程返回整个表

时间:2013-06-19 10:06:06

标签: mysql procedures

我尝试编写一个存储过程,在表中查找用户并返回给他。 但该过程总是返回整个表。

DELIMITER //
DROP PROCEDURE IF EXISTS `login`
CREATE PROCEDURE `login`(IN login VARCHAR(20), IN password VARCHAR(32))
BEGIN
SELECT * FROM `users` WHERE `login` = login AND `password` = password;
END
//
DELIMITER ;

怎么了?

1 个答案:

答案 0 :(得分:2)

尝试更改参数名称

DROP PROCEDURE IF EXISTS `login`;
CREATE PROCEDURE `login`(IN alogin VARCHAR(20), IN apassword VARCHAR(32))
SELECT * FROM `users` WHERE `login` = alogin AND `password` = apassword;

Ans,因为它是一个单一语句SP dith BEGIN...END阻止,无需更改DELIMITER