2013-08-21 15 views
13

Próba wykonania standardowego kwerendy wstawiania, ale nie działa.PostgreSQL wstawiania błędu składni kwerendy od phpPgAdmin

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

Błąd pojawia się następująco:

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

Co jest przyczyną tego błędu?

+2

Komunikat o błędzie pokazując błąd: 'select count (*) W sumie OD (Insert ... ' –

+0

Nie mam żadnych wskazówek .... Nie mam SELECT COUNT (*) AS total FROM, więc nie wiem, gdzie jest on brany –

+2

Czy wszystkie te podwójne cytaty są w porządku w postgresql? Dokumenty, których szukam właśnie pokazuje pojedyncze cytaty. A czy potrzebuje średnika końcowego? –

Odpowiedz

29

Zainstalowałem phpPgAdmin, aby spróbować odtworzyć błąd. Dostałem go od razu, gdy próbował stworzyć tabeli testowej:

enter image description here

Tak wygląda phpPgAdmin wraping zapytanie do select count(*) as total from (...). Zauważyłem, że dzieje się tak tylko wtedy, gdy pole wyboru "Wyniki w paginacie"jest zaznaczone na stronie zapytania (oczywiście phpPgAdmin próbuje zliczyć ile wierszy dostanie, a następnie pokaże go strona po stronie). Odznacz ją i zapytanie będzie działać prawidłowo:

enter image description here

zaktualizowane 1

Podobne pytanie - INSERT INTO PostgreSQL

zaktualizowane 2

Jak @akshay mowa w komentarzach, ty również może uzyskać podobny błąd podczas uruchamiania zapytań za pośrednictwem wiersza poleceń, patrz wyjaśnienie d sytuacja i odpowiedź tutaj - PostgreSQL disable more output

+2

Świetna odpowiedź, powinna być sprawdzona jako poprawna! – zavg

+0

Nigdy by się nie domyśliłem! Zasługujesz na ten zielony znacznik! – ADTC

+0

@Roman Pekar Otrzymuję podobny błąd, ale nie używam interfejsu użytkownika pgadmin. Używam poleceń za pomocą wiersza poleceń. Jak mogę naprawić błąd? – theLearner

0

Interfejs phpPgAdmin udostępnia dwa łącza do uruchamiania SQL - jeden w głównej części strony, a drugi na pasku menu u góry strony.

Ten w głównej części strony rzuci błąd, który widzisz, jeśli uruchomisz definicję definicji danych, na przykład CREATE TABLE.

Jednak ten na pasku menu uruchomi zapytania definicji danych bez problemu.

W skrócie:

screen

0

można spróbować także

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

Powiązane problemy