Ralat 1066: Bukan Jadual Unik/Alias: 'pengguna'
Apabila menghadapi ralat 1066 dalam SQL, ia menunjukkan bahawa jadual atau alias digunakan dalam pertanyaan telah dirujuk beberapa kali tanpa pengecam unik. Dalam kod yang disediakan, ralat timbul daripada jadual "pengguna" yang dicantumkan dua kali tanpa alias:
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'
Untuk menyelesaikan isu tersebut, rujukan kedua kepada jadual "pengguna" hendaklah diberikan alias. Ini membezakan kedua-dua kejadian dan membolehkan pangkalan data membezakan antara mereka:
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'
Dalam kod yang diubah suai ini, rujukan kedua kepada jadual "pengguna" diberikan alias "u2." Ini membolehkan pangkalan data membezakan antara kedua-dua kejadian dan menyelesaikan ralat.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat SQL 1066: Bukan Jadual Unik/Alias?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!