この更新クエリを実行しようとすると、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'
識別子の引用符文字はバックティック(“ `”)なので、" y "に別の引用符を使用してみてください。そうでなければMySQLはあなたが "y"という名前のカラムを指していると "考えます"。
MySQL 5ドキュメント もご覧ください
Mysqlサーバーに渡す文字列を一重引用符で囲みます。例えば。:
$name = "my name"
$query = " INSERT INTO mytable VALUES ( 1 , '$name') "
クエリは二重引用符で囲まれていますが、mustはすべての文字列を一重引用符で囲みます。
あなたはあなたの引用符の選択をチェックするかもしれません(値、文字列などには二重/一重引用符を、そして列名にはバッククォートを使用してください)。
テーブル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);
私の場合は、列名の最後に見えない末尾のスペースが原因でした。代わりに実際に "y"または "y"を使用しているかどうかを確認してください。
最初にEFコードを使用して.NETアプリケーションのビルドを行っているときに、Sql("UPDATE tableName SET columnName = value");
ステートメントがある場所にマイグレーションを適用しようとすると、このエラーメッセージが表示されました。
私はcolumnNameのスペルを間違えたことがわかりました。
MySQLデータベースでLINQを介してGroupByを使用すると、このエラーが発生しました。問題は、GroupByが使用していた匿名オブジェクトプロパティがデータベースの列名と一致しなかったことです。列名に一致するように匿名プロパティ名を変更することで修正されました。
.Select(f => new
{
ThisPropertyNameNeedsToMatchYourColumnName = f.SomeName
})
.GroupBy(t => t.ThisPropertyNameNeedsToMatchYourColumnName);
休止状態およびJPAの場合。参照されるテーブル名と列が不一致である可能性があることを確認してください
Thiのようなクエリでもエラーが発生します
select table1.id from table2
テーブルがcolumn selectで指定され、from句に含まれていない場合。
私も同じエラーに遭遇しました、私の場合の問題は私がGROUP BY
節に列名を含めたことです、そしてそれはこのエラーを引き起こしました。だからGROUP BY
句から列を削除し、それは働いた!