Je reçois toujours l'erreur MySQL # 1054 en essayant d'exécuter cette requête de mise à jour:
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
C'est probablement une erreur de syntaxe, mais j'ai essayé d'utiliser une jointure interne à la place et d'autres modifications, mais je reçois toujours le même message:
Unknown column 'y' in 'field list'
Essayez d’utiliser des guillemets différents pour "y", car le caractère de guillemet de l’identificateur est l’arrière ("` "). Sinon, MySQL "pense" que vous pointez sur une colonne nommée "y".
Voir aussi Documentation MySQL 5
Placez toute chaîne à transmettre au serveur mysql entre guillemets simples; par exemple.:
$name = "my name"
$query = " INSERT INTO mytable VALUES ( 1 , '$name') "
Notez que bien que la requête soit placée entre guillemets, vous devez entourez toute chaîne entre guillemets simples.
Vous pouvez vérifier votre choix de guillemets (utilisez des guillemets doubles/simples pour les valeurs, les chaînes, etc. et les pseudonymes pour les noms de colonnes).
Puisque vous voulez seulement mettre à jour la table master_user_profile
, je vous recommande une requête imbriquée:
UPDATE
master_user_profile
SET
master_user_profile.fellow = 'y'
WHERE
master_user_profile.user_id IN (
SELECT tran_user_branch.user_id
FROM tran_user_branch WHERE tran_user_branch.branch_id = 17);
Dans mon cas, cela était dû à un espace de fin invisible à la fin du nom de la colonne. Il suffit de vérifier si vous utilisez réellement "y" ou "y" à la place.
J'ai eu cette erreur en utilisant GroupBy via LINQ sur une base de données MySQL. Le problème était que la propriété d'objet anonyme utilisée par GroupBy ne correspond pas au nom de colonne de la base de données. Fixé en renommant le nom de la propriété anonyme pour correspondre au nom de la colonne.
.Select(f => new
{
ThisPropertyNameNeedsToMatchYourColumnName = f.SomeName
})
.GroupBy(t => t.ThisPropertyNameNeedsToMatchYourColumnName);
Si c'est hiberner et JPA. vérifiez le nom de la table et les colonnes auxquelles vous faites référence peuvent être incompatibles
Une requête comme celle-ci provoquera également l'erreur
select table1.id from table2
Où la table est spécifiée dans la colonne select et n'est pas incluse dans la clause from.
Alors que je travaillais tout d'abord sur une version de l'application .Net avec du code EF, j'ai reçu ce message d'erreur lorsque j'essayais d'appliquer ma migration lorsque j'avais une instruction Sql("UPDATE tableName SET columnName = value");
.
Il s'avère que j'ai mal orthographié le nom de la colonne.
Moi aussi j'ai eu la même erreur, le problème dans mon cas est que j'ai inclus le nom de la colonne dans la clause GROUP BY
et que cela a causé cette erreur Donc supprimé la colonne de la clause GROUP BY
et ça a marché !!!