我是一個新手與MySQL。我沒有找到與我的案例相對應的答案。 我寫了一個函數,應該返回false當在表「member_answer」中發現「apseudo」超過5次時。 問題是這個函數總是返回True。你能幫我嗎?我的Mysql的函數總是返回true
DELIMITER //
CREATE FUNCTION noMaxTryValideMail(theMail VARCHAR(150)) RETURNS BOOLEAN
BEGIN
/*This function returns True when we have at most 5 times "a pseudo" in member_answer */
DECLARE varEmail VARCHAR(150);
DECLARE varPseudo VARCHAR(35);
DECLARE nbTry SMALLINT;
DECLARE canContinueValidMail BOOLEAN DEFAULT TRUE;
SET varEmail := theMail;
SET varPseudo := NULL;
SELECT pseudo INTO varPseudo FROM inscription_member WHERE email_1 = varEmail;
SELECT COUNT(pseudo) INTO nbTry FROM member_answer WHERE pseudo [email protected];
IF nbTry >0 AND nbTry <6 THEN
SET canContinueValidMail := TRUE;
RETURN canContinueValidMail;
ELSE
SET canContinueValidMail:= FALSE;
RETURN canContinueValidMail;
END IF ;
END
'varPseudo'和'@ varPseudo'不是一回事。 –
謝謝你,我沒有注意到這一點。但即使我進行修正,它似乎也不起作用。也許這是一個像e4c5所說的矯枉過正的程序? – Tarsierseyesmaykill