ホームページ >データベース >mysql チュートリアル >テーブルが存在するにもかかわらず、データベース クエリが「リレーションが存在しない」というメッセージで失敗するのはなぜですか?

テーブルが存在するにもかかわらず、データベース クエリが「リレーションが存在しない」というメッセージで失敗するのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-18 11:55:13226ブラウズ

Why Does My Database Query Fail with

データベース クエリ エラー: "関係が存在しません"

ユーザーが 2 つのデータベース テーブルをクエリしようとしたときに、エラー "relation [テーブル] は存在しません。」サーバー エクスプローラーを検査すると、テーブルとその列の両方がスキーマ名「Schema」の下に表示されていました。

問題を解決するために、最初のクエリでは次の構文を使用しようとしました:

select * from Schema.table1;

ただし、これにより永続的なエラーが発生しました。ユーザーは、スキーマの大文字化が原因である可能性があると推測し、引用符で囲まれた識別子を使用してクエリを試みました:

Select * from "Schema.table1";
select "ID" from "Schema.table1";

それでも、同じエラーが継続しました。 「SET search_path to "Schema1"」を使用してスキーマ パスを追加することも効果がないことがわかりました。

解決策は、各要素を個別に引用符で囲むことです。

select "ID" 
from "Schema"."table1";

この構文により、データベースは引用符で囲まれた要素を確実に認識できます。識別子が正しく設定されているため、クエリを正常に実行できます。引用符で囲まれた識別子の詳細については、データベースのドキュメントを参照してください。

以上がテーブルが存在するにもかかわらず、データベース クエリが「リレーションが存在しない」というメッセージで失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。