ОШИБКА: столбец отношения не существует PostgreSQL, невозможно выполнить запрос вставки
Привет, я пытаюсь вставить в таблицу tester3 не удается, когда я использую синтаксис
insert into tester3 (UN0, UN1) values ( 1, 'jishnu1');
но
insert into tester3 values ( 1, 'jishnu1');
работает нормально.
mydb=# CREATE TABLE tester3
mydb-# (
mydb(# "UN0" integer,
mydb(# "UN1" VARCHAR(40)
mydb(# );
CREATE TABLE
mydb=# insert into tester3 (UN0, UN1) values ( 1, 'jishnu1');
ERROR: column "un0" of relation "tester3" does not exist
mydb=# \d tester3
Table "public.tester3"
Column | Type | Modifiers
--------+-----------------------+-----------
UN0 | integer |
UN1 | character varying(40) |
Я думаю, что мне не хватает чего-то очень тривиального, я пробовал другие имена столбцов, некоторые из них работают нормально, а некоторые не работают. Я сбит с толку. Есть ли в PostgreSQL ограничение на имена столбцов, для которых работает первый синтаксис запроса вставки?
Редактировать: как предложено Gordon Linoff,использование двойных кавычек решило проблему.insert into tester3 ("UN0", "UN1") values ( 1, 'jishnu1');
работает отлично
И как Frank Heikens указал на другие имена столбцов, которые работали без кавычек, где строчные буквы.
Строчный столбец является стандартом в PostgreSQL и также работает без кавычек
4 ответа
Если вы определяете столбцы с двойными кавычками, то вам нужно использовать их при обращении к столбцу:
insert into tester3 ("UN0", "UN1")
values ( 1, 'jishnu1');
Я хотел бы предложить вам удалить двойные кавычки из имен столбцов в CREATE TABLE
заявление.
Попробуйте это, используя двойные кавычки к именам столбцов
insert into tester3 ("UN0", "UN1") values ( 1, 'jishnu1');
Проверьте имя столбца таблицы не должно быть в верхнем регистре. Если это верхний регистр, попробуйте изменить корпус, затем запустите, он должен работать.
у меня есть история с моей базой данных для Qgis + POSTGRES DATA, я пытаюсь обновить свою таблицу кодом с помощью Navicate UPDATE "MangLuoi"."A_Lam_D310" SET "MangLuoi". "A_Lam_D310". "Nguon"='Lâm' и ERRO:SQL] ОБНОВЛЕНИЕ "MangLuoi". "A_Lam_D310" SET "MangLuoi". "A_Lam_D310". "Nguon"='Lâm'
[Err] ОШИБКА: столбец "MangLuoi" отношения "A_Lam_D310" не существует СТРОКА 1: ОБНОВЛЕНИЕ "MangLuoi". "A_Lam_D310" НАБОР "MangLuoi". "A_Lam_D310". "...
Теперь я пробую ОБНОВИТЬ "MangLuoi". "A_Lam_D310" SET "Nguon"='Lâm'
ОНО показывает нормально :)) по сообщению: Время: 0,035 с
Затронутые строки: 29
Спасибо, что поделились и ответили.