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

私が見つけることができる唯一のことは、区切り文字を変更していないことです。変更しないと、;行全体でステートメント全体が最後に壊れ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 に答える