返回空结果的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);