ホームページ > データベース > mysql チュートリアル > PostgreSQL の INSERT ステートメントが「エラー: 列 'user2' が存在しません」というエラーで失敗するのはなぜですか?

PostgreSQL の INSERT ステートメントが「エラー: 列 'user2' が存在しません」というエラーで失敗するのはなぜですか?

Barbara Streisand
リリース: 2024-12-30 22:58:10
オリジナル
568 人が閲覧しました

Why Does My PostgreSQL INSERT Statement Fail with

データを挿入できません: エラー「エラー: 列 "値" が存在しません」

「ユーザー」にデータを挿入しようとすると" 次のクエリを使用したテーブル:

INSERT INTO users (user_name, name, password,email) 
    VALUES ("user2", "first last", "password1", "[email protected]");
ログイン後にコピー

ユーザーに次のようなエラー メッセージが表示されます。 「エラー: 列 "user2" が存在しません。」このエラーは、クエリで指定された列 (「user2」) が「users」テーブル内の既存の列と一致しないことを示します。

テーブルのスキーマを調べると、「user_name」列が定義されていることがわかります。これは、テキスト データを受け入れることを意味します。ただし、このクエリでは、文字列「user2」を一重引用符で囲まずに挿入しようとしています。ここでエラーが発生します。

一重引用符を使用したクエリの修正:

PostgreSQL の規則に従って、文字定数は一重引用符で囲む必要があります。したがって、修正されたクエリは次のようになります。

INSERT INTO users(user_name, name, password,email) VALUES ('user2','first last','password1', '[email protected]' );
ログイン後にコピー

「user2」値を一重引用符で囲むことにより、これが列名ではなく文字定数であることを PostgreSQL に明示的に示します。

追加メモ:

  • 詳細については、PostgreSQL のドキュメントを参照してください。文字定数の説明: postgresql.org/docs/current/static/datatype-character.html
  • 通常、二重引用符は識別子 (テーブル名、列名など) のために予約されているため、PostgreSQL で二重引用符を使用する場合は注意が必要です。 )。文字定数に二重引用符を使用すると、予期しないエラーが発生する可能性があります。

以上がPostgreSQL の INSERT ステートメントが「エラー: 列 'user2' が存在しません」というエラーで失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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