web-dev-qa-db-ja.com

MySQL Updateクエリの 'field list'エラーの不明な列

この更新クエリを実行しようとすると、MySQLエラー#1054が発生し続けます。

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

おそらく多少の構文エラーがありますが、代わりに内部結合を使用したりその他の変更を試みたりしましたが、同じメッセージが表示され続けます。

Unknown column 'y' in 'field list' 
104
me_here

識別子の引用符文字はバックティック(“ `”)なので、" y "に別の引用符を使用してみてください。そうでなければMySQLはあなたが "y"という名前のカラムを指していると "考えます"。

MySQL 5ドキュメント もご覧ください

133
tuergeist

Mysqlサーバーに渡す文字列を一重引用符で囲みます。例えば。:

$name = "my name"
$query = " INSERT INTO mytable VALUES ( 1 , '$name') "

クエリは二重引用符で囲まれていますが、mustはすべての文字列を一重引用符で囲みます。

41
ShoushouLeb

あなたはあなたの引用符の選択をチェックするかもしれません(値、文字列などには二重/一重引用符を、そして列名にはバッククォートを使用してください)。

テーブルmaster_user_profileを更新したいだけなので、ネストしたクエリをお勧めします。

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);
16
user156676

私の場合は、列名の最後に見えない末尾のスペースが原因でした。代わりに実際に "y"または "y"を使用しているかどうかを確認してください。

4
Aminah Nuraini

最初にEFコードを使用して.NETアプリケーションのビルドを行っているときに、Sql("UPDATE tableName SET columnName = value");ステートメントがある場所にマイグレーションを適用しようとすると、このエラーメッセージが表示されました。

私はcolumnNameのスペルを間違えたことがわかりました。

1
Masterchief

MySQLデータベースでLINQを介してGroupByを使用すると、このエラーが発生しました。問題は、GroupByが使用していた匿名オブジェクトプロパティがデータベースの列名と一致しなかったことです。列名に一致するように匿名プロパティ名を変更することで修正されました。

.Select(f => new 
{
   ThisPropertyNameNeedsToMatchYourColumnName = f.SomeName
})
.GroupBy(t => t.ThisPropertyNameNeedsToMatchYourColumnName);
0
Eternal21

休止状態およびJPAの場合。参照されるテーブル名と列が不一致である可能性があることを確認してください

0
Poorna

Thiのようなクエリでもエラーが発生します

select table1.id from table2

テーブルがcolumn selectで指定され、from句に含まれていない場合。

0
hogarth45

私も同じエラーに遭遇しました、私の場合の問題は私がGROUP BY節に列名を含めたことです、そしてそれはこのエラーを引き起こしました。だからGROUP BY句から列を削除し、それは働いた!

0
mannedear