我有一个存储过程,在MySQL中使用if elseif。在第一个,无论我传入什么参数,我都会得到空。任何人都可以帮助我吗?
CREATE DEFINER=`root`@`localhost` PROCEDURE `CBattle`(IN btle varchar(50), OUT coun1 varchar(50), OUT coun2 varchar(50))
BEGIN
DECLARE shipnum int;
IF 2 != (SELECT COUNT(classes.country) FROM classes, outcomes, ships WHERE outcomes.ship = ships.name AND ships.class = classes.class AND outcomes.battle = btle )
THEN
SET coun1 = null;
SET coun2 = null;
ELSE
SET coun1 = (SELECT country FROM classes, outcomes, ships WHERE outcomes.ship = ships.name AND ships.class = classes.class AND outcomes.battle = btle LIMIT 1);
SET coun2 = (SELECT country FROM classes, outcomes, ships WHERE outcomes.ship = ships.name AND ships.class = classes.class AND outcomes.battle = btle LIMIT 1,1);
END IF;
END