**Bagaimana untuk Mendapatkan Data daripada Baris Terjejas Selepas Pertanyaan KEMASKINI dalam MySQL?**

Mary-Kate Olsen
Lepaskan: 2024-10-27 08:52:02
asal
335 orang telah melayarinya

**How to Retrieve Data from Affected Rows After an UPDATE Query in MySQL?**

Menggabungkan Pertanyaan SELECT dan UPDATE untuk Pendapatan Data Baris Terjejas dalam MySQL

MySQL menyediakan keupayaan pertanyaan yang berkuasa, termasuk keupayaan untuk melaksanakan operasi yang kompleks. Satu senario biasa melibatkan menggabungkan pertanyaan SELECT dan UPDATE untuk mendapatkan semula data yang terjejas oleh operasi kemas kini. Pendekatan ini boleh menyelaraskan pemprosesan dan menghapuskan keperluan untuk pertanyaan berasingan.

Dalam kes khusus ini, matlamatnya ialah untuk menggabungkan dua pertanyaan: pernyataan SELECT yang mengambil data berdasarkan kriteria tertentu dan pernyataan KEMASKINI yang mengubah suai baris yang sepadan . Dengan menggabungkan pertanyaan ini, matlamatnya adalah untuk mendapatkan data baris yang dikemas kini dalam satu operasi.

Pada mulanya, pengguna cuba menggunakan subkueri, tetapi hasil yang diinginkan tidak tercapai. Ini mendorong penerokaan kaedah alternatif, termasuk gabungan langsung SELECT dan UPDATE tanpa subkueri.

Penyelesaian: Memanfaatkan Teknik SET dan SELECT

Penyelesaian yang bijak telah ditemui melalui penyelidikan luaran: Dengan menggunakan teknik SET dan SELECT, adalah mungkin untuk mencapai hasil yang diinginkan. Coretan kod yang disediakan menunjukkan pendekatan ini:

<code class="sql">SET @uids := null;
UPDATE footable
   SET foo = 'bar'
 WHERE fooid > 5
   AND ( SELECT @uids := CONCAT_WS(',', fooid, @uids) );
SELECT @uids;</code>
Salin selepas log masuk

Penyelesaian ini menggunakan langkah berikut:

  • Memulakan pembolehubah @uids kepada null.
  • Mengemas kini footable dengan menetapkan lajur foo kepada 'bar' untuk baris dengan fooid lebih besar daripada 5.
  • Dalam pertanyaan KEMASKINI, subkueri memperuntukkan nilai fooid yang dikemas kini kepada pembolehubah @uids.
  • Akhir sekali, pertanyaan SELECT mendapatkan semula pembolehubah @uids, yang kini memegang senarai dipisahkan koma bagi nilai fooid yang terjejas.

Atas ialah kandungan terperinci **Bagaimana untuk Mendapatkan Data daripada Baris Terjejas Selepas Pertanyaan KEMASKINI dalam MySQL?**. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan