ホームページ  >  記事  >  データベース  >  影響を受ける行の代わりに MySQL で更新された値を取得するにはどうすればよいですか?

影響を受ける行の代わりに MySQL で更新された値を取得するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-29 19:45:03481ブラウズ

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

影響を受ける行の代わりに MySQL で更新された値を取得する

MySQL では、UPDATE ステートメントを実行すると、通常、影響を受ける行の数が返されます。 。ただし、代わりに更新された値が必要になるシナリオもあります。

更新された値を直接取得するには、ストアド プロシージャを利用できます。以下の手順に従ってください:

  1. ストアド プロシージャを作成します:
    DELIMITER $$ -- DELIMITER を ; を使用するように変更します。プロシージャ内
    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 ステートメントを終了
    DELIMITER ; -- DELIMITER を標準にリセットします ;

  2. PHP でストアド プロシージャを実行します:
    $result = mysql_query("CALL inventory_score($id)");
    $row = mysql_fetch_array($result);
    echo $row['new_score'];

以上が影響を受ける行の代わりに MySQL で更新された値を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。