Rumah >pangkalan data >tutorial mysql >Bagaimanakah anda mendapatkan semula nilai yang dikemas kini selepas pertanyaan kemas kini MySQL?

Bagaimanakah anda mendapatkan semula nilai yang dikemas kini selepas pertanyaan kemas kini MySQL?

Barbara Streisand
Barbara Streisandasal
2024-11-03 06:04:301046semak imbas

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

Mendapatkan Nilai Kemas Kini daripada Kemas Kini MySQL

Dalam pertanyaan kemas kini MySQL, adalah perkara biasa untuk menerima bilangan baris yang terjejas dan bukannya nilai yang dikemas kini . Walau bagaimanapun, terdapat kaedah untuk mendapatkan semula nilai yang dikemas kini terus daripada pertanyaan.

Penyelesaian: Menggunakan Prosedur Tersimpan

Prosedur tersimpan boleh dibuat untuk melaksanakan kemas kini dan kemudian dapatkan semula nilai yang dikemas kini menggunakan parameter output. Prosedur tersimpan berikut menambah lajur skor dalam jadual item untuk id yang diberikan dan mengembalikan nilai baharu:

<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>

Pelaksanaan PHP

Dalam PHP, tersimpan prosedur boleh dipanggil dan nilai yang dikemas kini boleh diperolehi seperti berikut:

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

Penyelesaian ini membolehkan anda mengemas kini nilai dan mendapatkan semula nilai yang dikemas kini dalam satu pertanyaan, mengurangkan bilangan pertanyaan yang diperlukan untuk mencapai tugas.

Atas ialah kandungan terperinci Bagaimanakah anda mendapatkan semula nilai yang dikemas kini selepas pertanyaan kemas kini MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn