Я относительно новичок в postgres (я являюсь пользователем django - используйте pgsql через orm), и я пытаюсь выяснить способ вставки содержимого в специальный столбец - но пока , мне не повезло. Итак, у меня сначала есть база данных dzmodel_uf
с двумя столбцами: id
(это PK) и content
- оба из которых заполнены (скажем, 50 записей).postgres таблица обновлений на основе другой таблицы
Теперь я хотел бы создать другую таблицу, в которой ссылки (внешние ключи) равны id
из dzmodel_uf
. Итак, я делаю следующее:
--INITIALIZATION
CREATE TABLE MyNewTable(id integer REFERENCES dzmodel_uf (id));
ALTER TABLE ONLY FullTextSearch ADD CONSTRAINT mynewtable_pkey PRIMARY KEY (id);
который работает нормально. Теперь я создаю столбец таблицы MyNewTable следующим образом:
ALTER TABLE MyNewTable ADD COLUMN content_tsv_gin tsvector;
.., который также отлично работает. Наконец, я хотел бы добавить содержимое из dzmodel_uf
- колонки content
так:
UPDATE MyNewTable SET content_tsv_gin = to_tsvector('public.wtf', dzmodel_uf(content))
.. но это FAILS и говорит, что колонка content
не существует ..
В двух словах, я не как я могу ссылаться на значения из другой таблицы.
Если новая таблица по-прежнему пуст, вы должны ВСТАВИТЬ, не UPDATE. – joop
@joop: Я пробовал это. Когда я это делаю - PGsql не печатает никаких сообщений об ошибках, но я вижу, что таблица пуста (MyNewTable), поскольку 'dzmodel_uf (content)' имеет около 50 записей! – JohnJ
В чем ваш вопрос. Вывод 'UPDATE' или дизайн таблицы? Лучше всего задавать * один * четко определенный вопрос. Но сначала вам нужно изучить основы самостоятельно. –