Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Mengemas kini Baris dan Mendapatkan ID yang Dikemas kini dalam MySQL Tanpa Subquery?

Bagaimana untuk Mengemas kini Baris dan Mendapatkan ID yang Dikemas kini dalam MySQL Tanpa Subquery?

Barbara Streisand
Barbara Streisandasal
2024-10-26 20:31:02550semak imbas

How to Update Rows and Get Updated IDs in MySQL Without a Subquery?

Menggabungkan Pertanyaan SELECT dan UPDATE dalam MySQL

Menggabungkan pertanyaan SELECT dan UPDATE ke dalam satu operasi boleh berguna untuk mengoptimumkan prestasi pangkalan data. Dalam kes ini, pengguna ingin menggabungkan pertanyaan berikut:

SELECT * FROM table WHERE group_id = 1013 and time > 100;
UPDATE table SET time = 0 WHERE group_id = 1013 and time > 100

Walaupun pendekatan subkueri mungkin tidak memberikan hasil yang diingini, terdapat penyelesaian yang boleh mencapai matlamat tanpa subkueri. Penyelesaian ini melibatkan penggunaan pembolehubah yang ditentukan pengguna (@uids) untuk menyimpan ID baris yang dikemas kini:

UPDATE footable
   SET foo = 'bar'
 WHERE fooid > 5
   AND ( SELECT @uids := CONCAT_WS(',', fooid, @uids) );
SELECT @uids;```

Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Baris dan Mendapatkan ID yang Dikemas kini dalam MySQL Tanpa Subquery?. 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