Maison > base de données > tutoriel mysql > 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 ?

Mary-Kate Olsen
Libérer: 2024-10-23 17:26:02
original
296 Les gens l'ont consulté

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

Dans cette requête, les tables 'user' et 'user_info' avoir 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
Copier après la connexion

En spécifiant 'user.user_id', nous déclarons explicitement que nous souhaitons utiliser le 'user_id'. colonne 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 l'erreur 'user_id' dans la clause Where qui est 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 des problèmes similaires à l'avenir.

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