Postgres sql ошибка синтаксиса запроса вставки из phpPgAdmin

Попытка выполнить стандартный запрос вставки, но это не работает.

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

Что вызывает эту ошибку?

3 ответа

Я установил phpPgAdmin, чтобы попытаться воспроизвести вашу ошибку. Я понял это сразу, когда попытался создать тестовую таблицу:

введите описание изображения здесь

Похоже, phpPgAdmin оборачивает ваш запрос в select count(*) as total from (...), Я обнаружил, что это происходит, только когда установлен флажок "Paginate results" на странице запроса (очевидно, phpPgAdmin пытается подсчитать, сколько строк он получит, а затем показать его постранично). Снимите флажок, и ваш запрос будет работать нормально:

введите описание изображения здесь

обновлено 1

Подобный вопрос - INSERT INTO PostgreSQL

обновлено 2

Как упоминалось в комментариях @akshay, вы также можете получить аналогичную ошибку при выполнении запросов через командную строку, см. Объясненную ситуацию и ответ здесь - PostgreSQL отключает больше вывода

Пользовательский интерфейс phpPgAdmin предоставляет две ссылки для запуска SQL - одну в основной части страницы и одну в строке меню в верхней части страницы.

Тот, что в основной части страницы, выдаст ошибку, которую вы видите, если вы запустите оператор определения данных, такой как CREATE TABLE.

Однако тот, что в строке меню, без проблем запустит запросы определения данных.

Короче:

экран

Вы могли бы попробовать это также

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

Другие вопросы по тегам