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
672 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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal