"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment spécifier la colonne ambiguë \'user_id\' dans une clause MySQL WHERE ?

Comment spécifier la colonne ambiguë \'user_id\' dans une clause MySQL WHERE ?

Publié le 2024-11-07
Parcourir:445

How to Specify the Ambiguous \'user_id\' Column in a MySQL WHERE Clause?

Résoudre l'ambiguïté dans la clause WHERE 'user_id' de MySQL

Lorsque vous travaillez avec plusieurs tables partageant un nom de colonne, MySQL peut rencontrer une ambiguïté lors de l'utilisation cette colonne dans une clause WHERE. Cela est évident dans le message d'erreur « user_id » dans la clause Where qui est ambiguë.

Considérez l'exemple de requête :

SELECT user.*, user_info.* 
FROM user 
INNER JOIN user_info ON user.user_id = user_info.user_id
WHERE user_id=1

Dans cette requête, les tables 'user' et 'user_info' ont une colonne 'user_id'. Cependant, MySQL ne peut pas déterminer quelle colonne 'user_id' utiliser dans la clause WHERE.

Résoudre l'ambiguïté

Pour résoudre l'ambiguïté, nous devons spécifier quel 'user_id' colonne à utiliser. Ceci peut être réalisé en ajoutant le nom de la table comme préfixe au nom de la colonne, comme indiqué ci-dessous :

... WHERE user.user_id=1

En spécifiant 'user.user_id', nous déclarons explicitement que nous voulons utiliser la colonne 'user_id' de la table 'user' dans la clause WHERE.

Cette clarification élimine l'ambiguïté et permet à MySQL d'exécuter la requête sans rencontrer le 'user_id' dans Where La clause est une erreur ambiguë. N'oubliez pas de toujours spécifier le préfixe de la table lorsque vous faites référence à des noms de colonnes ambigus dans une clause WHERE pour éviter ce problème et d'autres problèmes similaires à l'avenir.

Déclaration de sortie Cet article est reproduit le: 1729663275 S'il y a une contrefaçon, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3