Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyelesaikan Ralat SQL 1066: Bukan Jadual Unik/Alias?

Bagaimana untuk Menyelesaikan Ralat SQL 1066: Bukan Jadual Unik/Alias?

Patricia Arquette
Patricia Arquetteasal
2024-12-31 11:39:10209semak imbas

How to Resolve SQL Error 1066: Not Unique Table/Alias?

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!

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