ID utilisateur ambigu dans la clause MySQL WHERE
Lors de l'exécution d'une requête MySQL avec une clause WHERE utilisant le champ 'user_id', vous pouvez rencontrer le message d'erreur "user_id dans la clause Where est ambigu." Cela se produit car la requête ne peut pas déterminer quel champ « user_id » utiliser car il existe plusieurs tables avec des colonnes nommées « user_id ».
Pour corriger cela, vous devez spécifier quel champ « user_id » utiliser en incluant le nom de la table comme préfixe. Par exemple, dans la requête donnée :
SELECT user.*, user_info.* FROM user INNER JOIN user_info ON user.user_id = user_info.user_id WHERE user_id=1
La requête utilise le même nom de champ 'user_id' dans la condition JOIN et la clause WHERE. Pour résoudre l'ambiguïté, spécifiez le nom de la table avant 'user_id' dans la clause WHERE :
... WHERE user.user_id=1
Cela indique explicitement que le champ 'user_id' de la table 'user' doit être utilisé dans la clause WHERE.
Spécifier le nom de la table supprime l'ambiguïté, permettant à MySQL d'exécuter correctement la requête. Ce faisant, vous vous assurez que la requête récupère les données des champs et des tables prévus.
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!