ホームページ > データベース > mysql チュートリアル > 複数のテーブルにわたる MySQL UPDATE クエリで「不明な列」エラーが発生するのはなぜですか?

複数のテーブルにわたる MySQL UPDATE クエリで「不明な列」エラーが発生するのはなぜですか?

Linda Hamilton
リリース: 2025-01-14 07:20:44
オリジナル
815 人が閲覧しました

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

複数のテーブルを更新する際の MySQL 'フィールド リスト' の不明な列エラー

更新クエリの試行中に 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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート