Maison >base de données >tutoriel mysql >Pourquoi ma requête MySQL UPDATE sur plusieurs tables entraîne-t-elle une erreur « Colonne inconnue » ?

Pourquoi ma requête MySQL UPDATE sur plusieurs tables entraîne-t-elle une erreur « Colonne inconnue » ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-14 07:20:44769parcourir

Why Does My MySQL UPDATE Query Across Multiple Tables Result in an

Erreur MySQL 'Colonne inconnue dans la 'liste de champs'' lors de la mise à jour de plusieurs tables

Vous rencontrez l'erreur MySQL n° 1054 lors d'une tentative de requête de mise à jour ? Voici pourquoi :

La requête fournie tente de mettre à jour deux tables, MASTER_USER_PROFILE et TRAN_USER_BRANCH, en utilisant la syntaxe :

UPDATE MASTER_USER_PROFILE, TRAN_USER_BRANCH
SET MASTER_USER_PROFILE.fellow='y'
WHERE MASTER_USER_PROFILE.USER_ID = TRAN_USER_BRANCH.USER_ID
AND TRAN_USER_BRANCH.BRANCH_ID = 17

Cependant, lors d'une mise à jour sur plusieurs tables, il est important d'utiliser la syntaxe correcte. Dans ce cas, l'erreur « Colonne inconnue 'y' dans 'field list'" se produit car MySQL interprète la valeur 'y' comme un nom de colonne en raison des guillemets simples qui l'entourent.

Résoudre l'erreur

Pour résoudre ce problème, la valeur « y » doit être placée entre guillemets doubles ou entre guillemets (`), comme indiqué ci-dessous. code :

UPDATE MASTER_USER_PROFILE, TRAN_USER_BRANCH
SET MASTER_USER_PROFILE.fellow="y"
WHERE MASTER_USER_PROFILE.USER_ID = TRAN_USER_BRANCH.USER_ID
AND TRAN_USER_BRANCH.BRANCH_ID = 17;

En appliquant cette correction, MySQL interprétera correctement 'y' comme une valeur pour mettre à jour la colonne camarade de MASTER_USER_PROFILE.

Conventions de citation

À éviter de telles erreurs à l’avenir, il est crucial de respecter les conventions de citation appropriées. Des guillemets simples ou doubles doivent être utilisés pour les valeurs, les chaînes et similaires, tandis que les guillemets doivent être réservés aux noms de colonnes.

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