mySql存储过程中出现空白错误

时间:2013-04-01 13:57:05

标签: mysql mysqli

我正在尝试在mySql中编写一个简单的登录存储过程,以便进行简单的测试。我很难过为什么会出错。这是我的代码:

create procedure prLogin (IN userID varchar(20), IN pw varchar(20))

begin

select * from userlogin 
inner join users on userlogin.id = users.userid 
where userlogin.username = userID and userlogin.password = pw;

end

正如我上面提到的,这段代码失败了,但没有提供任何关于原因的线索。谁能帮我?谢谢! VIV

1 个答案:

答案 0 :(得分:0)

我唯一能找到的是你没有改变你的分隔符,如果你不改变它,那么整个语句将会在;行上的最后a.password = pw;处中断。< / p>

DELIMITER $$
CREATE PROCEDURE prLogin (IN userID varchar(20), IN pw varchar(20))
BEGIN
    SELECT  a.*, b.*
    FROM    userlogin a
            INNER JOIN users b
                ON a.id = b.userid 
    WHERE   a.username = userID AND 
            a.password = pw;
END $$
DELIMITER ;

通过更改分隔符的字符(您想要的任何内容以及我选择的字符为$$ ),语句将停留在新字符上,而不是;上。< / p>