À l'aide de select dans la variable locale et de l'instruction préparée dans mysql

Chaque fois que l'appel de cette procédure stockée, j'obtiens cette erreur:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NULL' at line 1

Ce qui semble être le problème?

Voici le code:

DELIMITER $$

DROP PROCEDURE IF EXISTS `singledb`.`TOUR_TRANSFER`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `TOUR_TRANSFER`()
BEGIN

BEGIN -- for rubric table
            DECLARE tblRubric_rubric_id INT;
            SET @qry = concat('SELECT count(*) into ',tblRubric_rubric_id,' FROM zerodb2.tour_template');
            PREPARE statement FROM @qry;
            EXECUTE statement;

            SELECT tblRubric_rubric_id;
END;
END$$

DELIMITER ;
Qu'est-ce exactement que vous essayez de faire, je pense que je peux aider. Obtenir le nombre de requêtes et de retour juste que?
je veux juste pour affecter une valeur à une variable locale à l'aide de select dans une déclaration préparée. Mais j'ai découvert qu'il l'habitude de travailler avec des variables locales. Voir bugs.mysql.com/bug.php?id=15263
Il fonctionne avec des variables locales. Je comprends ce que vous essayez de le faire je pense, mais il n'est pas nécessaire de le sélectionner dans une variable locale dans une procédure stockée, sauf si vous avez l'intention de faire quelque chose avec cette variable locale dans la procédure stockée. Où en êtes-vous de l'appel de cette procédure stockée à partir de PHP ou quelque chose? Si vous voulez accéder à cette "count(*)" tout ce que vous avez à faire est d'appeler l'instruction select. Vous n'avez pas à sélectionner dans une variable.

OriginalL'auteur kaz | 2011-10-27