0

为了简单的测试目的,我正在尝试在 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

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

4

1 回答 1

0

我唯一能找到的是你没有改变你的分隔符,如果你不改变它,整个语句将在最后;发生在 line 上中断a.password = pw;

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 ;

通过更改分隔符的字符(您想要的任何字符和我选择的字符都是$$),语句将停止在新字符上,而不是在;.

于 2013-04-01T14:01:19.237 回答