Я запускаю хранимую процедуру. Кажется, проблема заключается в том, что она войдет в инструкцию 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 будет работать, но, к сожалению, этот ответ не работает. Очень озадачен –
Нет ошибки, она просто не входит в оператор If и возвращает второй выбор, если ничего не найдено в первом выборе, например. если rowCount возвращает значение меньше 1 –
Если посмотреть на него больше, оно должно возвращать значение, превышающее 1 в найденных строках. У меня только 2 реконструированных в DB id 1 и 2 соответственно. поэтому, если я пройду (0,2), я должен вернуть запись 2 по умолчанию, но это не –