Mendapatkan Nilai Kemas Kini daripada MySQL
Apabila menjalankan operasi kemas kini dalam MySQL, kiraan baris yang terjejas biasanya dikembalikan secara lalai. Walau bagaimanapun, terdapat senario di mana adalah wajar untuk mendapatkan semula nilai yang dikemas kini.
Pertimbangkan pertanyaan berikut:
UPDATE item SET `score`=`score`+1 WHERE `id`=1
Pertanyaan ini menambah markah item dengan ID yang ditentukan. Secara lalai, hasil daripada melaksanakan pertanyaan ini ialah bilangan baris yang terjejas, iaitu 1 dalam kes ini.
Walau bagaimanapun, untuk mendapatkan semula nilai yang dikemas kini, prosedur tersimpan boleh digunakan. Prosedur tersimpan membolehkan anda melaksanakan satu set pernyataan SQL sebagai satu unit dan boleh ditakrifkan seperti berikut:
<code class="sql">DELIMITER $$ -- Change DELIMITER in order to use ; withn the procedure 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 $$ -- Finish CREATE PROCEDURE statement DELIMITER ; -- Reset DELIMITER to standard ;</code>
Prosedur tersimpan ini mula-mula mengemas kini skor dan kemudian memilih nilai baharu ke dalam parameter output bernama new_score. Dalam PHP, anda boleh memanggil prosedur tersimpan ini dan mendapatkan semula nilai yang dikemas kini seperti berikut:
<code class="php">$result = mysql_query("CALL increment_score($id)"); $row = mysql_fetch_array($result); echo $row['new_score'];</code>
Dengan menggunakan prosedur tersimpan, anda boleh melaksanakan kedua-dua operasi kemas kini dan mendapatkan semula dalam satu pertanyaan, mengurangkan bilangan pertanyaan dan meningkatkan prestasi.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai Kemas Kini Selepas Operasi KEMASKINI MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!