Heim  >  Artikel  >  Datenbank  >  Wie rufe ich aktualisierte Werte in MySQL anstelle betroffener Zeilen ab?

Wie rufe ich aktualisierte Werte in MySQL anstelle betroffener Zeilen ab?

Susan Sarandon
Susan SarandonOriginal
2024-10-29 19:45:03481Durchsuche

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

Aktualisierte Werte in MySQL anstelle betroffener Zeilen abrufen

In MySQL wird beim Ausführen einer UPDATE-Anweisung normalerweise die Anzahl der betroffenen Zeilen zurückgegeben . Es kann jedoch vorkommen, dass Sie stattdessen den aktualisierten Wert benötigen.

Um den aktualisierten Wert direkt abzurufen, können Sie eine gespeicherte Prozedur verwenden. Führen Sie die folgenden Schritte aus:

  1. Erstellen Sie eine gespeicherte Prozedur:
    DELIMITER $$ – Ändern Sie DELIMITER, um es zu verwenden; innerhalb der Prozedur
    CREATE PROCEDURE increment_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
    $$ -- CREATE PROCEDURE-Anweisung beenden
    DELIMITER ; -- DELIMITER auf Standard zurücksetzen ;

  2. Führen Sie die gespeicherte Prozedur in PHP aus:
    $result = mysql_query("CALL increment_score($id)");
    $row = mysql_fetch_array($result);
    echo $row['new_score'];

Das obige ist der detaillierte Inhalt vonWie rufe ich aktualisierte Werte in MySQL anstelle betroffener Zeilen ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn