Postgres Вставка строки с идентификатором из другой таблицы - PullRequest
0 голосов
/ 02 мая 2019

В приведенном ниже коде, когда я вставляю в example_actions значение example_id должно ссылаться из example, где platform и platform_id соответствуют таблице example

, которая у меня естьрабочий код ниже, но я не думаю, что это оптимальный способ сделать это, особенно когда мне нужно вставить миллионы записей.

create table example
(
    id serial primary KEY,
    platform text not null,
    platform_id int not null,
    unique(platform, platform_id)
);

create table example_actions
(   
    id serial primary key,
    platform text not null,
    platform_id int not null,
    example_id int not null,
    action text not null,
    action_date timestamp not null,
    unique(example_id, action, action_date)
)

;

insert into example(platform, platform_id)
values('miami', 1)

;

insert into example_actions(platform, platform_id, example_id, action, action_date)
select 'miami', 1, id, 'flew', '2018-01-01'
from example
where platform = 'miami'
and platform_id = 1;

insert into example_actions(platform, platform_id, example_id, action, action_date)
select 'miami', 1, id, 'drove', '2018-01-01'
from example
where platform = 'miami'
and platform_id = 1;

В таблице example_actions должны быть созданы две строки с example_id оба равны 1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...