標準の挿入クエリを実行しようとしていますが、機能しません。
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_...
このエラーの原因は何ですか?
エラーを再現するためにphpPgAdminをインストールしました。テストテーブルを作成しようとすると、すぐにわかりました。
したがって、phpPgAdminがクエリをselect count(*) as total from (...)
にラップしているように見えます。クエリページのチェックボックス「結果のページ付け」がオンに設定されている場合にのみ発生することがわかりました(明らかにphpPgAdminは行数をカウントしようとしています)取得して、ページごとに表示します)。チェックを外すと、クエリは正常に機能します。
更新1
同様の質問-- INSERT INTO PostgreSQL
更新2
@akshayがコメントで述べたように、コマンドラインからクエリを実行すると同様のエラーが発生する可能性があります。説明されている状況を参照して、ここで回答してください PostgreSQLはより多くの出力を無効にします
あなたもこれを試すことができます
INSERT INTO "user" ("username", "password_hash", "first_name", "last_name") VALUES( 'Foo',MD5('54321'),'Foo','Bar' );
PhpPgAdmin UIは、SQLを実行するための2つのリンクを提供します。1つはページの本体にあり、もう1つはページ上部のメニューバーにあります。
ページの本体にあるものは、CREATETABLEのようなデータ定義ステートメントを実行した場合に表示されるエラーをスローします。
ただし、メニューバーにあるものは問題なくデータ定義クエリを実行します。
要するに: