Maison > base de données > tutoriel mysql > Comment résoudre l'erreur MySQL 1066 : table/alias « utilisateur » dupliqué ?

Comment résoudre l'erreur MySQL 1066 : table/alias « utilisateur » dupliqué ?

Mary-Kate Olsen
Libérer: 2025-01-03 12:51:39
original
736 Les gens l'ont consulté

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

Erreur 1066 : Table dupliquée/Alias ​​'Utilisateur'

Lors de l'exécution d'une requête SQL, vous pouvez rencontrer l'erreur 1066 (Table non unique/ alias : 'utilisateur'). Cette erreur indique que la table « utilisateur » dans votre requête est référencée plusieurs fois sans alias distincts.

Problème :

Considérez la structure de table suivante :

Article       Section      Category     User
id | title   id | title    id | title    id | name
------------ ------------ ------------ ------------
1  | Article 1 10 | Section 1 100 | Category 1 1   | Author
Copier après la connexion

Et cette requête SQL :

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'
Copier après la connexion

Lors de l'exécution de cette requête, vous obtiendrez le erreur 1066 car la table 'user' est jointe deux fois sans spécifier d'alias différents.

Solution :

Pour résoudre ce problème, attribuez un alias unique à la deuxième instance de la table 'user', comme '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'
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal