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