在另一列中使用新创建的主键

时间:2019-05-26 08:37:41

标签: sql postgresql

使用PostgreSQL

在我的表中,我有一个列“ id”,它是一个自动递增的主键。创建新行时,我想在新行的另一列中使用该新创建的主键值。我该怎么办?

enter image description here

1 个答案:

答案 0 :(得分:0)

您需要一个触发器:

create or replace function t_update_message_id_trigger()
returns trigger as
$body$
begin
    new.message_id := new.id;
    return new;
end;
$body$ language plpgsql;

create trigger t_update_message_id before insert on t
    for each row execute procedure t_update_message_id_trigger();

Here是db <>小提琴,说明了它的工作原理。