web-dev-qa-db-ja.com

phpPgAdminからのPostgresql挿入クエリ構文エラー

標準の挿入クエリを実行しようとしていますが、機能しません。

INSERT INTO users (vk_id, eu_name, eu_society, eu_notes, eu_want_team)
VALUES ("123123133","Eu name","Eu society","Eu notes","true")

私が得るエラーは次のとおりです。

ERROR:  syntax error at or near "INTO" LINE 1: SELECT COUNT(*) AS
 total FROM (INSERT INTO users (vk_id, eu_...

このエラーの原因は何ですか?

15
user2705406

エラーを再現するためにphpPgAdminをインストールしました。テストテーブルを作成しようとすると、すぐにわかりました。

enter image description here

したがって、phpPgAdminがクエリをselect count(*) as total from (...)にラップしているように見えます。クエリページのチェックボックス「結果のページ付け」がオンに設定されている場合にのみ発生することがわかりました(明らかにphpPgAdminは行数をカウントしようとしています)取得して、ページごとに表示します)。チェックを外すと、クエリは正常に機能します。

enter image description here

更新1

同様の質問-- INSERT INTO PostgreSQL

更新2

@akshayがコメントで述べたように、コマンドラインからクエリを実行すると同様のエラーが発生する可能性があります。説明されている状況を参照して、ここで回答してください PostgreSQLはより多くの出力を無効にします

34
Roman Pekar

あなたもこれを試すことができます

INSERT INTO "user" ("username", "password_hash", "first_name", "last_name") VALUES( 'Foo',MD5('54321'),'Foo','Bar' );

0
Bruce Tong

PhpPgAdmin UIは、SQLを実行するための2つのリンクを提供します。1つはページの本体にあり、もう1つはページ上部のメニューバーにあります。

ページの本体にあるものは、CREATETABLEのようなデータ定義ステートメントを実行した場合に表示されるエラーをスローします。

ただし、メニューバーにあるものは問題なくデータ定義クエリを実行します。

要するに:

画面

0
user3393273