Voir cette procédure stockéeSQL_CALC_FOUND_ROWS dans la procédure de MySQL stockées avec python
-- --------------------------------------------------------------------------------
-- Routine DDL
-- --------------------------------------------------------------------------------
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `get_followers`(in _user_id int,in _topic_id int,in _type int)
MAIN:BEGIN
SELECT SQL_CALC_FOUND_ROWS follow.user_id
-- COUNT(follow.user_id) AS _topic_idcount
FROM
follow
WHERE
follow.followee_user_id = _user_id
AND (topic_id = _topic_id OR topic_id = 0)
GROUP BY follow.user_id;
SELECT FOUND_ROWS() AS count;
END
Quand je suis utiliser l'appel de test à cette fonction de procédure stockée dans Workbench mysql il donne résultat attendu que le nombre de comptage. Mais quand j'exécute du code python et que je jette le json out put de cette requête, il donne le résultat suivant.
[{"user_id": 3}, {"user_id": 4}, {"user_id": 5}]
Selon mon avis, il n'envisage pas SELECT FOUND_ROWS() AS count;
cette déclaration quand je l'appelle code python forme SP en jachère
results = execute_sp("get_followers", [user_id, topic_id, type])
ici execut est ma fonction personnalisée.
def execute_sp(sp_name, paramaters):
#helper method to run sp's and return results
db = Db()
cursor = db.cursor()
cursor.callproc(sp_name,paramaters)
results = cursor.fetchallDict()
cursor.close()
return results
plaidoyers me aident à résoudre ce .....