Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menetapkan Pembolehubah Pengguna daripada Keputusan Pertanyaan dalam MySQL?

Bagaimana untuk Menetapkan Pembolehubah Pengguna daripada Keputusan Pertanyaan dalam MySQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-28 19:21:29603semak imbas

How to Set User Variables from Query Results in MySQL?

Menetapkan Pembolehubah Pengguna daripada Keputusan Pertanyaan dalam MySQL

Ia adalah mungkin untuk mengisi pembolehubah pengguna dengan output pertanyaan dalam MySQL. Untuk mencapai matlamat ini, masukkan penugasan pembolehubah dalam pertanyaan itu sendiri. Contohnya:

<code class="mysql">SET @user := 123456;
SELECT @group := `group` FROM user WHERE user = @user;
SELECT * FROM user WHERE `group` = @group;</code>

Uji ini dengan mencipta jadual:

<code class="mysql">CREATE TABLE user (`user` int, `group` int);
INSERT INTO user VALUES (123456, 5);
INSERT INTO user VALUES (111111, 5);</code>

Output yang terhasil menunjukkan cara pembolehubah pengguna @group diisi dengan ID kumpulan yang sesuai:

<code class="mysql">SET @user := 123456;
SELECT @group := `group` FROM user WHERE user = @user;
SELECT * FROM user WHERE `group` = @group;

+--------+-------+
| user   | group |
+--------+-------+
| 123456 |     5 |
| 111111 |     5 |
+--------+-------+
2 rows in set (0.00 sec)</code>

Nota: Anda boleh menggunakan sama ada = atau : = sebagai pengendali tugasan dalam penyata SET. Walau bagaimanapun, dalam konteks lain, hanya : = harus digunakan sebagai = adalah pembanding dalam keadaan tersebut.

Kemas kini:

Pendekatan alternatif ialah menggunakan klausa LIMIT :

<code class="mysql">SET @user := 123456;
SELECT `group` FROM user LIMIT 1 INTO @group;
SELECT * FROM user WHERE `group` = @group;</code>

Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Pembolehubah Pengguna daripada Keputusan Pertanyaan 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