Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Mendapatkan Nilai Kemas Kini Daripada Baris Terpengaruh dalam MySQL?

Bagaimana untuk Mendapatkan Nilai Kemas Kini Daripada Baris Terpengaruh dalam MySQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-02 05:40:02228semak imbas

How to Retrieve the Updated Value Instead of Affected Rows in MySQL?

Mendapatkan Nilai Kemas Kini dalam MySQL Daripada Baris Terjejas

Dalam MySQL, tugas biasa ialah menambah nilai lajur tertentu dalam jadual. Walaupun kenyataan UPDATE membenarkan kemas kini yang mudah, ia biasanya mengembalikan bilangan baris yang terjejas, menjadikan pengguna tanpa akses terus kepada nilai yang dikemas kini.

Walaupun penyelidikan yang meluas, persoalan sama ada terdapat penyelesaian MySQL asli untuk mendapatkan semula nilai yang dikemas kini dan bukannya kiraan tetap tidak dijawab. Walau bagaimanapun, penyelesaian yang bijak menggunakan prosedur tersimpan boleh memberikan alternatif yang berdaya maju.

Penyelesaian Prosedur Tersimpan

Dengan mencipta prosedur tersimpan, kami boleh melakukan operasi kemas kini dan kemudian mengembalikan nilai yang dikemas kini sebagai output parameter. Berikut ialah contoh prosedur sedemikian:

<code class="sql">DELIMITER $$   -- Change DELIMITER in order to use ; within 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>

Pelaksanaan PHP

Untuk menggunakan prosedur tersimpan ini dalam PHP, kita boleh menggunakan fungsi mysql_query dengan awalan CALL:

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

Kod ini mula-mula akan melaksanakan prosedur tersimpan, menambah lajur skor untuk id yang ditentukan. Anschließend ruft es den Wert von score ab und gibt ihn als new_score aus.

Durch die Verwendung von gespeicherten Prozeduren lassen sich sowohl die Abfrageanzahl reduzieren als auch der aulisifchen direkte Zugriffau ge Penyelesaian zurückgreifen zu müssen.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai Kemas Kini Daripada Baris Terpengaruh dalam 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