ошибка инструкции sql: "столбец. не существует"
Im пытается из консоли postgres эту команду:
select sim.id as idsim,
num.id as idnum
from main_sim sim
left join main_number num on (FK_Numbers_id=num.id);
и у меня есть такой ответ:
ERROR: column "fk_numbers_id" does not exist LINE 1: ...m from main_sim sim left join main_number num on (FK_Numbers...
но если я просто проверю свою таблицу с:
dbMobile=# d main_sim
id | integer | not null default
Iccid | character varying(19) | not null
...
FK_Device_id | integer |
FK_Numbers_id | integer |
Indexes:
"main_sim_pkey" PRIMARY KEY, btree (id)
"main_sim_FK_Numbers_id_key" UNIQUE, btree ("FK_Numbers_id")
"main_sim_Iccid_key" UNIQUE, btree ("Iccid")
"main_sim_FK_Device_id" btree ("FK_Device_id")
Foreign-key constraints:
"FK_Device_id_refs_id_480a73d1" FOREIGN KEY ("FK_Device_id") REFERENCES main_device(id) DEFERRABLE INITIALLY DEFERRED
"FK_Numbers_id_refs_id_380cb036" FOREIGN KEY ("FK_Numbers_id") REFERENCES main_number(id) DEFERRABLE INITIALLY DEFERRED
...Как мы видим столбец существует.
вероятно, это синтаксическая ошибка, но я не вижу, что...
любая помощь будет с благодарностью. Алессио!--4-->
1 ответов
нет, колонки FK_Numbers_id
не существует, только столбец
по-видимому, вы создали таблицу с использованием двойных кавычек, и поэтому все имена столбцов теперь чувствительны к регистру, и вы должны использовать двойные кавычки все время:
select sim.id as idsim,
num.id as idnum
from main_sim sim
left join main_number num on ("FK_Numbers_id" = num.id);
резюмировать то, что уже задокументировано в руководстве:
столбец foo
и FOO
идентичны, столбцы "foo"
и "FOO"
нет.