我试图编写一个存储过程,在表中找到用户并返回他。
但是过程总是返回整个表。
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 ;
发生了什么?
最佳答案
尝试更改参数的名称
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;
因为它是一个单语句的SP dith
BEGIN...END
块,不需要更改aDELIMITER
。关于mysql - 带有SELECT的MySQL过程返回整个表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17188495/