Menyoal dengan Alias
Dalam MySQL, anda boleh menetapkan alias kepada medan atau lajur untuk mudahkan pertanyaan anda. Ini membolehkan anda menggunakan alias dan bukannya nama medan asal, menjadikan pertanyaan lebih mudah dibaca dan difahami.
SELECT field1 + field2 AS col1 FROM core;
Contoh ini mencipta alias, col1, untuk mewakili jumlah medan1 dan medan2.
Ralat dengan Aliasing
Walau bagaimanapun, dalam kes anda, anda menghadapi "ralat lajur tidak diketahui" apabila cuba menggunakan alias dalam pengiraan seterusnya. Ralat ini berlaku kerana alias tidak ditakrifkan sehingga pertanyaan pertama dilaksanakan.
Penyelesaian: Menggunakan Pembolehubah Pengguna sebagai Alias
Untuk mengatasi had ini, MySQL menyediakan pengguna pembolehubah yang boleh digunakan sebagai alternatif alias. Anda boleh menetapkan pembolehubah pengguna kepada subkueri dan kemudian merujuknya dalam pertanyaan utama.
SELECT @code := SUM(field1 + field2), @code + 1 FROM abc;
Dalam kes ini, @code diberikan kepada jumlah medan1 dan medan2, dan kemudian ungkapan @kod 1 dikira dalam pertanyaan yang sama.
Awas
Walaupun teknik ini membolehkan anda mencapai hasil yang diingini, adalah penting untuk mengetahui kemungkinan perangkap. Dokumentasi MySQL menasihatkan agar tidak memberikan nilai kepada pembolehubah pengguna dan membacanya dalam pernyataan yang sama. Walau bagaimanapun, jika digunakan dengan berhati-hati, penyelesaian ini boleh menjadi penyelesaian yang berharga untuk pengehadan alias.
Atas ialah kandungan terperinci Berikut ialah beberapa pilihan tajuk, dengan mengingati format \'soalan\': **Pilihan 1 (Fokus pada Masalah):** * **Mengapa Saya Mendapat Ralat \'Lajur Tidak Diketahui\' Apabila Menggunakan Alias dalam MyS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!