无论我创建哪种MySQL程序,第二条ELSE IF语句都将返回零结果。每个Select语句分别运行时将返回结果。我的语法没有问题。抱歉,这是一个简单的解决方法。请帮忙。 DELIMITER $$CREATE PROCEDURE TEST(type VARCHAR(7), cat TINYINT)BEGIN IF type = 'coffee' THEN Select * FROM specific_coffee WHERE id=cat; ELSEIF type = 'goodies' THEN Select * FROM non_coffee_products WHERE id=cat; END IF;END $$ 最佳答案 程序文本正确。CREATE TABLE specific_coffeeSELECT 1 id, 11 valUNION ALLSELECT 2,22CREATE TABLE non_coffee_productsSELECT 1 id, 111 valUNION ALLSELECT 2,222CREATE PROCEDURE TEST(type VARCHAR(7), cat TINYINT)BEGIN IF type = 'coffee' THEN Select * FROM specific_coffee WHERE id=cat; ELSEIF type = 'goodies' THEN Select * FROM non_coffee_products WHERE id=cat; END IF;ENDCALL TEST ('coffee', 1)id | val-: | --: 1 | 11CALL TEST ('goodies', 2)id |值-:| -: 2 | 222db 小提琴here检查您的数据和参数。关于mysql - MySQL Else If语句未执行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59972557/
10-09 00:49
查看更多