Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Postgresql syntax error at or near "into",в чем ошибка?

Kowka_VN Знаток (458), на голосовании 2 года назад
INSERT INTO belaya.tariffs (id, name, stoimost, speed, fl_test, stoim_podkl ) VALUES(10000,'Индивидуальный', 1, 1, false, 1);
В чем ошибка данного запроса?
Голосование за лучший ответ
Давид Мейстер Мастер (2089) 2 года назад
В том что это не запрос.
Kowka_VNЗнаток (458) 2 года назад
Как тогда выглядит запрос?
Давид Мейстер Мастер (2089) Kowka_VN,
  
INSERT INTO table_name (Column1, Column 2....) 
VALUES (value1, value2, ...); 
Noname Просветленный (23561) 2 года назад
вероятно, в имени таблицы belaya.tariffs
Kowka_VNЗнаток (458) 2 года назад
названия, вроде совпадают
Noname Просветленный (23561) Kowka_VN, может так: INSERT INTO belaya.tariffs AS tariffs (id, name, stoimost, speed, fl_test, stoim_podkl )
Jurijus Zaksas Искусственный Интеллект (445791) 2 года назад
Выглядит в целом вполне кошерно. Возможно, проблема в имени таблицы или какого-то из полей.
Kowka_VNЗнаток (458) 2 года назад
Вот скрин где находится таблица и какие поля есть
Def Гений (63678) 2 года назад
1. Где текст ошибки?
2. Поле идентификатора должно быть автозаполняемым, как правило
Kowka_VNЗнаток (458) 2 года назад
Текст ошибки я напрямую из pgadmin взял пробовал и без поля id, та же самая ошибка выдает
DefГений (63678) 2 года назад
select * from belaya.tariffs
работает?
Виктор Мальков Мудрец (10362) 2 года назад
Это единственный запрос в скрипте, там ничего до INSERT нет?

Что будет, если "name" взять в кавычки?
Алексей Хвостовский Мудрец (18146) 2 года назад
Щас бы со вставками еще мучаться..
belaya - это же схема? Обычно не указывается без надобности:
 INSERT INTO tariffs(id, name, stoimost, speed, fl_test, stoim_podkl) 
VALUES(10000,'Индивидуальный', 1, 1, false, 1);
Также, нужно проверить имена полей. Если вставка по всем полям, то проще опустить их перечисление:
 INSERT INTO tariffs VALUES(10000,'Индивидуальный', 1, 1, false, 1); 
Выборки проходят нормально?
 select * from tariffs; 

https://postgrespro.ru/docs/postgresql/9.6/sql-insert
Kowka_VNЗнаток (458) 2 года назад
Проблема в том что схем много, где есть тарифы, и задача в каждой схеме изменить тариф, select работает нормально, пропускал необязательные поля, но ошибка в том же месте. Имена полей проверены ещё заранее, буква в букву. Вставка идет по конкретным полям. Я сам удивлен что в ставке ошибка возникает, уже давно с sql работаю и такое впервые вижу, когда всё совпадает и не работает.
Алексей Хвостовский Мудрец (18146) Kowka_VN, А так?
 SET SEARCH_PATH TO belaya;
INSERT INTO tariffs(id, name, stoimost, speed, fl_test, stoim_podkl)  
VALUES(10000,'Индивидуальный', 1, 1, false, 1); 
Где ошибка будет?
Похожие вопросы