Maison >base de données >tutoriel mysql >Comment résoudre l'erreur SQL 1066 : table/alias non unique ?

Comment résoudre l'erreur SQL 1066 : table/alias non unique ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-31 11:39:10205parcourir

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

Erreur 1066 : table/alias non unique : 'utilisateur'

Lorsque vous rencontrez l'erreur 1066 dans SQL, cela indique qu'une table ou un alias utilisé dans une requête a été référencé plusieurs fois sans identifiants uniques. Dans le code fourni, l'erreur provient du fait que la table "user" est jointe deux fois sans 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'

Pour résoudre le problème, la deuxième référence à la table "user" doit se voir attribuer un alias. Cela différencie les deux instances et permet à la base de données de les distinguer :

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'

Dans ce code modifié, la deuxième référence à la table "user" se voit attribuer l'alias "u2". Cela permet à la base de données de différencier les deux instances et de résoudre l'erreur.

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:
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