更新クエリの試行中に MySQL エラー #1054 が発生しましたか?その理由は次のとおりです。
指定されたクエリは、次の構文を使用して、MASTER_USER_PROFILE と TRAN_USER_BRANCH の 2 つのテーブルを更新しようとします。
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
ただし、複数のテーブルにわたって更新を実行する場合は、次の構文を使用することが重要です。正しい構文。この場合、「フィールド リスト」に不明な列 'y' というエラーが発生します。これは、値 'y' が単一引用符で囲まれているため、MySQL が値 'y' を列名として解釈するためです。
この問題を解決するには、以下に示すように、値「y」を二重引用符で囲むか、バックティック (`) で囲む必要があります。 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;
この修正を適用すると、MySQL は 'y' を値として正しく解釈し、MASTER_USER_PROFILE の列を更新します。
を回避するには今後このような間違いが発生しないように、適切な引用規約に従うことが重要です。値、文字列などには一重引用符または二重引用符を使用する必要があり、バックティックは列名に予約する必要があります。
以上が複数のテーブルにわたる MySQL UPDATE クエリで「不明な列」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。