У меня есть две массивные таблицы с большим количеством дублированных значений, и я просто создал новую схему базы данных. Теперь я должен извлечь все данные, чтобы вставить их в новую таблицу.Как вставить данные из другой таблицы в существующую таблицу с автоинкрементным идентификатором?
Однако у меня возникла проблема: то, что я пытаюсь сделать, состоит в том, чтобы извлечь одну колонку (на данный момент) из одной большой таблицы и вставить ее в таблицу Город (id_town, town_name) с id_town будучи автоинкрементом Первичный ключ, как:
ALTER TABLE Town
ADD COLUMN id_town SERIAL PRIMARY KEY;
Я сделал это, так что я могу извлечь все города и поставить все из них с их конкретным ID. (Если у вас есть лучшее решение, я возьму его, кстати!)
Итак, я пытаюсь извлечь данные, но он не работает:
INSERT INTO town
SELECT DISTINCT location
FROM old_table1
Отображаемое ошибке говорит, что он ждет значения id_town; но, исходя из того, что я понял об увеличении значений, он должен генерировать себя.
Что я делаю неправильно?
Другая проблема я встречаю: Я предполагаю, что я вроде есть правильный синтаксис для извлечения одного столбца из старой таблицы, чтобы поместить его в новый, но я не знаю, как я предположительно, чтобы извлечь определенные столбцы из одной из двух старых таблиц и поместить их только в некоторые столбцы новой таблицы:
У меня есть таблица, например, имеющая 6 столбцов (включая идентификатор автоинкремента), 3 из они исходят из old_table1, из них 2 из old_table2. Как я могу извлечь данные?
Большое спасибо!
Да, это работает, спасибо много! Теперь я пытаюсь понять, как заставить мою систему работать, потому что теперь я пытаюсь использовать Star Schema, и это первый раз, когда я пытаюсь это сделать! – Alan