Apabila menghadapi ralat "Setiap jadual terbitan mesti mempunyai alias sendiri" dalam MySQL, adalah penting untuk menyelidiki konsep jadual terbitan. Jadual ini, juga dikenali sebagai sub-pertanyaan, memerlukan alias yang jelas untuk memudahkan rujukan dalam pertanyaan luar.
Mari kita ambil contoh pertanyaan yang menyebabkan ralat:
SELECT ID FROM ( SELECT ID, msisdn FROM ( SELECT * FROM TT2 ) );
Pertanyaan ini terdiri daripada dua sub-pertanyaan bersarang. Walaupun sub-pertanyaan paling dalam mendapatkan semula data daripada jadual 'TT2', ralat timbul kerana kedua-dua sub-pertanyaan kekurangan alias.
Untuk membetulkan ralat ini, setiap sub- pertanyaan mesti diberikan alias unik. Pertanyaan yang diperbetulkan akan menyerupai:
SELECT ID FROM ( SELECT ID, msisdn FROM ( SELECT * FROM TT2 ) AS T1 ) AS T2
Di sini, kedua-dua sub-pertanyaan diberikan alias ('T1' dan 'T2'), membenarkan pertanyaan luar merujuk hasil masing-masing.
Dalam kes di mana sub-pertanyaan hanya mengekstrak data daripada jadual, keseluruhan binaan boleh dipermudahkan.
SELECT ID FROM TT2
Pertanyaan diperkemas ini menghapuskan lapisan sub-pertanyaan sambil masih mencapai hasil yang diingini.
Atas ialah kandungan terperinci Mengapa MySQL Memerlukan Alias untuk Jadual Terbitan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!