17

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

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_...

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

4

3 に答える 3

41

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

ここに画像の説明を入力

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

ここに画像の説明を入力

更新 1

同様の質問 - INSERT INTO PostgreSQL

更新 2

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

于 2013-08-24T17:52:23.533 に答える
2

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

ページの本体にあるものは、CREATE TABLE などのデータ定義ステートメントを実行すると、表示されているエラーをスローします。

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

要するに:

画面

于 2015-10-20T09:55:17.510 に答える