Maison  >  Article  >  base de données  >  Comment récupérer les valeurs mises à jour dans MySQL au lieu des lignes affectées ?

Comment récupérer les valeurs mises à jour dans MySQL au lieu des lignes affectées ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-29 19:45:03481parcourir

How to Retrieve Updated Values in MySQL Instead of Affected Rows?

Récupération des valeurs mises à jour dans MySQL au lieu des lignes affectées

Dans MySQL, lors de l'exécution d'une instruction UPDATE, elle renvoie généralement le nombre de lignes affectées . Cependant, il peut y avoir des scénarios dans lesquels vous avez besoin de la valeur mise à jour à la place.

Pour récupérer directement la valeur mise à jour, vous pouvez utiliser une procédure stockée. Suivez les étapes ci-dessous :

  1. Créez une procédure stockée :
    DELIMITER $$ -- Modifiez DELIMITER pour utiliser ; dans la procédure
    CREATE PROCEDURE incrément_score(IN id_in INT)
    BEGIN

    UPDATE item SET score = score + 1 WHERE id = id_in;
    SELECT score AS new_score FROM item WHERE id = id_in;

    END
    $$ -- Terminer l'instruction CREATE PROCEDURE
    DELIMITER ; -- Réinitialiser DELIMITER au standard ;

  2. Exécuter la procédure stockée en PHP :
    $result = mysql_query("CALL incrément_score($id)");
    $row = mysql_fetch_array($result);
    echo $row['new_score'];

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn