Rumah >pangkalan data >tutorial mysql >Mengapa MySQL Melemparkan Ralat 'Setiap Jadual Terbitan Mesti Mempunyai Alias ​​Sendiri'?

Mengapa MySQL Melemparkan Ralat 'Setiap Jadual Terbitan Mesti Mempunyai Alias ​​Sendiri'?

Barbara Streisand
Barbara Streisandasal
2024-12-21 00:40:10654semak imbas

Why Does MySQL Throw the

Memahami Ralat "Setiap Jadual Terbitan Mesti Mempunyai Alias ​​Sendiri" dalam MySQL

Apabila menjalankan pertanyaan yang melibatkan sub-pertanyaan bersarang, MySQL kadangkala melemparkan ralat yang menyatakan "Setiap jadual terbitan mesti mempunyai alias sendiri." Ralat ini memaklumkan anda tentang isu dengan struktur sub-pertanyaan.

Untuk membetulkan ralat ini, setiap sub-pertanyaan (atau jadual terbitan) mesti mempunyai alias unik. Alias ​​ini berfungsi sebagai pengecam, membenarkan pertanyaan luar merujuk hasil sub-pertanyaan.

Sebagai contoh, pertimbangkan pertanyaan berikut:

SELECT ID FROM (
    SELECT ID, msisdn
    FROM (
        SELECT * FROM TT2
    )
);

Di sini, ralat berlaku kerana yang paling dalam sub-pertanyaan (yang memilih daripada TT2) tidak mempunyai alias. Untuk menyelesaikannya, tetapkan alias kepada sub-pertanyaan ini, seperti yang ditunjukkan di bawah:

SELECT ID FROM (
    SELECT ID, msisdn FROM (
        SELECT * FROM TT2
    ) AS T
) AS T

Alias ​​"T" kini membenarkan pertanyaan luar merujuk kepada hasil sub-pertanyaan terdalam, dengan berkesan menghapuskan ralat .

Dalam banyak kes, pertanyaan boleh dipermudahkan dengan mengalih keluar sub-pertanyaan yang tidak perlu, seperti dalam ini contoh:

SELECT ID FROM TT2

Atas ialah kandungan terperinci Mengapa MySQL Melemparkan Ralat 'Setiap Jadual Terbitan Mesti Mempunyai Alias ​​Sendiri'?. 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