1
我正在運行一個存儲過程。這個問題似乎是它會進入if語句。同樣由於某種原因,無論我使用多少選擇它只會返回第一個。我已經從另一個存儲過程複製了這個像魅力一樣的存儲過程,但是這個不會去。有任何想法嗎?Mysql存儲過程多選擇
DROP PROCEDURE IF EXISTS genSelPriceTier;
DELIMITER $$
CREATE PROCEDURE genSelPriceTier(tier_id INT, default_id INT)
BEGIN
DECLARE rowCount INT DEFAULT 0;
SELECT * FROM price_tier WHERE price_tier_id = tier_id;
SET rowCount = FOUND_ROWS();
IF rowCount < 1 THEN
SELECT * FROM price_tier WHERE price_tier_id = default_id;
END IF;
END$$
DELIMITER ;
是的certianly小於1或rowCount = 0會工作,但遺憾的是說這個答案也不起作用。非常困惑 – 2012-01-27 19:41:09
沒有錯誤,它只是不進入If語句並返回第二個選擇,如果在第一個選擇中沒有找到任何內容。如果rowCount返回的值小於1 – 2012-01-27 19:47:58
查看它,它必須在找到的行中返回高於1的值。我只在數據庫標識1和2中分別記錄了2。所以如果我通過(0,2)我應該返回記錄2作爲默認值,但它不會 – 2012-01-27 19:50:44