首頁  >  文章  >  資料庫  >  在 MySQL 更新查詢後如何檢索更新後的值?

在 MySQL 更新查詢後如何檢索更新後的值?

Barbara Streisand
Barbara Streisand原創
2024-11-03 06:04:30980瀏覽

How do you retrieve the updated value after a MySQL update query?

從 MySQL 更新取得更新值

在 MySQL 更新查詢中,通常會收到受影響的行數而不是更新值。但是,有一種方法可以直接從查詢中檢索更新的值。

解決方案:使用預存程序

可以建立預存程序來執行更新然後使用輸出參數檢索更新後的值。以下預存程序遞增給定id 的項目表中的分數列並傳回新值:

<code class="sql">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</code>

PHP 實作

在PHP 中,儲存的可以呼叫流程並取得更新後的值,如下所示:

<code class="php">$sql = "CALL increment_score($id)";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
echo $row['new_score'];</code>

此解決方案可讓您在單一查詢中更新值並檢索更新後的值,從而減少完成所需的查詢數量任務。

以上是在 MySQL 更新查詢後如何檢索更新後的值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn