Я пытаюсь сделать несложную процедуру в моей MySQL:Как объявить переменную внутри процедуры MYSQL
DELIMITER $$
CREATE PROCEDURE `countRows`(IN v varchar(30))
BEGIN
DECLARE e INT DEFAULT 0;
SET @t1 =CONCAT("SELECT COUNT(*) FROM ",V, " INTO",e);
PREPARE stmt3 FROM @t1;
EXECUTE stmt3;
DEALLOCATE PREPARE stmt3;
SELECT CONCAT("The ",V," table contains ",e," rows");
END$$
DELIMITER ;
EDIT: Все работает правильно, но @ t1 не сохраняет значение в переменной, так что заставляет второй запрос показывать 0 по умолчанию всегда.
Я не вижу никакой синтаксической ошибки, некоторые советы для этой работы, пожалуйста?
Я редактирую свой вопрос. Все работает, но @ t1 не сохраняет значение запроса в переменной e, всегда 0 (по умолчанию) – Edw4rd
У вас действительно есть записи в вашей таблице? проверьте один раз. – Rahul
Конечно, первый запрос работает нормально. – Edw4rd