Ralat SQL 1066: Menyelesaikan Masalah Alias Jadual Bukan Unik dalam Pertanyaan JOIN
Apabila menghadapi ralat SQL 1066, "Not unique table/alias, " ia menunjukkan bahawa berbilang kejadian jadual yang sama digunakan tanpa alias unik untuk membezakannya pertanyaan JOIN.
Pertimbangkan contoh kod berikut:
SELECT article.* , section.title, category.title, user.name, user.name FROM article INNER JOIN section ON article.section_id = section.id INNER JOIN category ON article.category_id = category.id INNER JOIN user ON article.author_id = user.id LEFT JOIN user ON article.modified_by = user.id WHERE article.id = '1'
Dalam kod ini, anda akan melihat bahawa jadual "pengguna" dicantumkan dua kali, menyebabkan ralat. Untuk menyelesaikan isu ini, anda perlu memberikan alias unik kepada kejadian kedua jadual.
Kod berikut menunjukkan pertanyaan yang diperbetulkan:
SELECT article.* , section.title, category.title, user.name, u2.name FROM article INNER JOIN section ON article.section_id = section.id INNER JOIN category ON article.category_id = category.id INNER JOIN user ON article.author_id = user.id LEFT JOIN user u2 ON article.modified_by = u2.id WHERE article.id = '1'
Dengan memberikan alias unik "u2 " kepada kejadian kedua jadual "pengguna", ralat telah diselesaikan dan anda boleh melaksanakan pertanyaan dengan jayanya.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat SQL 1066: Alias Jadual Bukan Unik dalam JOIN?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!