返回空结果的MySQL存储过程

返回空结果的MySQL存储过程,mysql,sql,stored-procedures,Mysql,Sql,Stored Procedures,我有一个存储过程: DELIMITER $$ CREATE DEFINER=`thinktosco_com`@`%` PROCEDURE `GetQuestions`(IN languageId CHAR(36), IN userId CHAR(36), IN _limit INT) BEGIN SELECT DISTINCT * FROM `QuestionTranslation` WHERE `LanguageId` = languageId AND Phase

我有一个存储过程:

DELIMITER $$

CREATE DEFINER=`thinktosco_com`@`%` PROCEDURE `GetQuestions`(IN languageId CHAR(36), IN userId CHAR(36), IN _limit INT)
BEGIN
    SELECT DISTINCT * FROM `QuestionTranslation` 
    WHERE `LanguageId` = languageId
    AND Phase != 'HISTORY'
    AND `QuestionId` NOT IN (SELECT DISTINCT `QuestionId` FROM `Answer` WHERE `UserId` = userId)
    ORDER BY RAND() LIMIT _limit;
END
当运行select语句时,我得到了正确的结果,但当运行如下存储过程时,我没有得到任何结果:

CALL thinktoscore_com_db.GetQuestions('9997f94d-1b90-11e3-92c0-0050568243f2', '9d6a59d9-ee09-41d7-896b-7c9930e324dd', 12);
表QuestionTranslation包含1132行,回答表包含484行匹配userId='9d6a59d9-ee09-41d7-896b-7c9930e324dd'。有人能指出我做错了什么吗

提前谢谢


/在对存储过程的调用中,参数#1“languageId”看起来非常像参数#2“userId”


您确定“9997f94d-1b90-11e3-92c0-0050568243f2”是语言ID吗?

是。我对他们两个都使用UUID,所以他们看起来很像。。。好啊只是看起来太明显了
CALL thinktoscore_com_db.GetQuestions(
    '9997f94d-1b90-11e3-92c0-0050568243f2', 
    '9d6a59d9-ee09-41d7-896b-7c9930e324dd', 
    12);