Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyelesaikan Ralat MySQL 1066: Jadual Pendua/Alias ​​'pengguna'?

Bagaimana untuk Menyelesaikan Ralat MySQL 1066: Jadual Pendua/Alias ​​'pengguna'?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-03 12:51:39670semak imbas

How to Resolve MySQL Error 1066: Duplicated Table/Alias 'user'?

Ralat 1066: Jadual Pendua/Alias ​​'Pengguna'

Apabila melaksanakan pertanyaan SQL, anda mungkin menghadapi ralat 1066 (Bukan jadual unik/ alias: 'pengguna'). Ralat ini menunjukkan bahawa jadual 'pengguna' dalam pertanyaan anda dirujuk beberapa kali tanpa alias yang berbeza.

Masalah:

Pertimbangkan struktur jadual berikut:

Article       Section      Category     User
id | title   id | title    id | title    id | name
------------ ------------ ------------ ------------
1  | Article 1 10 | Section 1 100 | Category 1 1   | Author

Dan pertanyaan SQL ini:

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'

Apabila melaksanakan pertanyaan ini, anda akan mendapat ralat 1066 kerana jadual 'pengguna' dicantumkan dua kali tanpa menyatakan alias yang berbeza.

Penyelesaian:

Untuk menyelesaikan isu ini, tetapkan alias unik kepada contoh kedua jadual 'pengguna', seperti 'u2':

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'

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat MySQL 1066: Jadual Pendua/Alias ​​'pengguna'?. 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