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' );