首页 >数据库 >mysql教程 >如何检索 MySQL 中更新的值而不是受影响的行?

如何检索 MySQL 中更新的值而不是受影响的行?

Susan Sarandon
Susan Sarandon原创
2024-10-29 19:45:03563浏览

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

在 MySQL 中检索更新的值而不是受影响的行

在 MySQL 中,当执行 UPDATE 语句时,它通常返回受影响的行数。但是,在某些情况下您可能需要更新的值。

要直接检索更新的值,您可以使用存储过程。请按照以下步骤操作:

  1. 创建存储过程:
    DELIMITER $$ -- 将 DELIMITER 更改为使用 ;在过程中
    CREATE PROCEDUREincrement_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("CALLincrement_score($id)");
    $row = mysql_fetch_array($result);
    echo $row['new_score'];

以上是如何检索 MySQL 中更新的值而不是受影响的行?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn