Menetapkan Pembolehubah Pengguna daripada Keputusan Pertanyaan dalam MySQL
Dalam MySQL, adalah mungkin untuk memanipulasi pembolehubah yang ditentukan pengguna berdasarkan hasil pangkalan data pertanyaan. Ini membolehkan anda menetapkan nilai secara dinamik kepada pembolehubah semasa masa jalan.
Untuk mencapainya, anda boleh menggunakan pernyataan SET MySQL, yang biasanya digunakan untuk mengubah suai pembolehubah sistem atau sesi. Walau bagaimanapun, anda juga boleh memanfaatkannya untuk menetapkan pembolehubah pengguna tersuai. Sintaks untuk menetapkan pembolehubah pengguna adalah seperti berikut:
<code class="sql">SET @variable_name := expression;</code>
Ambil contoh berikut:
<code class="sql">SET @user := 123456; SET @group := (SELECT `group` FROM USER WHERE USER = @user); SELECT * FROM USER WHERE `group` = @group;</code>
Dalam contoh ini, kami mula-mula menetapkan pembolehubah @user kepada nilai 123456. Selepas itu, kami menggunakan pernyataan SET untuk menetapkan hasil subquery kepada pembolehubah @group. Subkueri mendapatkan semula kumpulan untuk PENGGUNA dengan ID yang ditentukan.
Akhir sekali, kami menggunakan pembolehubah @kumpulan dalam pertanyaan berasingan untuk mendapatkan semua pengguna yang tergolong dalam kumpulan itu. Adalah penting untuk ambil perhatian bahawa di dalam pernyataan bukan SET, pengendali tugasan mestilah := bukannya = untuk mengelakkan konflik dengan pengendali perbandingan.
Sebagai alternatif, anda juga boleh menggunakan klausa INTO untuk menetapkan hasil pertanyaan terus kepada pembolehubah pengguna:
<code class="sql">SET @user := 123456; SELECT `group` FROM USER LIMIT 1 INTO @group; SELECT * FROM USER WHERE `group` = @group;</code>
Pendekatan ini berkesan mengambil baris pertama hasil pertanyaan dan menyimpannya dalam pembolehubah @kumpulan.
Atas ialah kandungan terperinci Bagaimanakah saya boleh menetapkan pembolehubah pengguna dalam MySQL berdasarkan hasil pertanyaan pangkalan data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!