Sql 在另一列中使用新创建的主键
使用PostgreSQL 在我的表中,有一列“id”,它是一个自动递增的主键。创建新行时,我希望在新行的另一列中使用新创建的主键值。我该怎么做Sql 在另一列中使用新创建的主键,sql,postgresql,Sql,Postgresql,使用PostgreSQL 在我的表中,有一列“id”,它是一个自动递增的主键。创建新行时,我希望在新行的另一列中使用新创建的主键值。我该怎么做 您需要一个触发器: 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; cr
您需要一个触发器:
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();
是一个dbfiddle,说明它是如何工作的。您使用的是什么RDBMS产品。请同时指定版本。如果是SQL server,您可以使用computed column()。我的错,我使用的是PostgreSql。您可以使用触发器,正如所解释的那样,非常感谢!!