從 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中文網其他相關文章!