У меня есть следующие таблицы:
CREATE TABLE Countries(
CoKey SERIAL PRIMARY KEY,
Name VARCHAR(256) NOT NULL);
CREATE TABLE Institutions(
IKey SERIAL PRIMARY KEY,
Name VARCHAR(256) NOT NULL,
CoKey INT REFERENCES Countries(CoKey));
и файл CSV, загруженный в tmp_table
CREATE TABLE tmp_table (
AKey VARCHAR(256) PRIMARY KEY,
Name VARCHAR(256),
Affiliation VARCHAR(256),
Country VARCHAR(256),
Website VARCHAR(256));
Примечание: tmp_table.Affiliation >> Institutions.name, tmp_table.Country >> Страны.Name
- Нет. рядов 7000
- Нет. учреждений 1452 (без дубликатов)
- Нет. учреждений 4000
- Нет. стран 3900
- Нет. стран 67 (без дубликатов)
Я попробовал следующее:
- Я создал таблицу стран (67 строк без дубликатов), заполните ее из tmp_table.
- Я использовал INSERT INTO + SELECT + FROM, чтобы заполнить таблицу FK in Institutions (1452 строки без дубликатов) (конечно, это не сработало, поскольку существует несоответствие в количестве строк ).
Каково лучшее решение для заполнения внешнего ключа таблицы из другой таблицы с другим номером. рядов?