You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL插入problems表时自动在关联solutions表创建行的实现方案

PostgreSQL 插入problems表自动生成solutions关联行实现方案

要实现该需求,通过数据库层面的插入触发器即可完成,无需修改上层业务代码,具体操作如下:


操作步骤

  • 第一步:创建触发函数,定义插入solutions表的逻辑
CREATE OR REPLACE FUNCTION auto_create_solution_for_problem()
RETURNS TRIGGER AS $$
BEGIN
  -- 取新插入的problem行id,插入solutions表,cost使用表默认的NULL值
  INSERT INTO solutions (problem_id) VALUES (NEW.id);
  RETURN NEW;
END;
$$ LANGUAGE plpgsql;
  • 第二步:为problems表绑定插入后触发器,每行插入完成后自动执行上述函数
CREATE TRIGGER trg_problem_after_insert
AFTER INSERT ON problems
FOR EACH ROW
EXECUTE FUNCTION auto_create_solution_for_problem();

功能验证

执行测试插入语句:
INSERT INTO problems (from_id, to_id) VALUES (101, 202);
执行后查询solutions表,即可看到problem_id为上述新插入行id的关联记录已自动生成。


自定义调整

如果需要给自动生成的solutions记录设置固定默认cost值,只需修改触发函数中的INSERT语句即可,示例如下(默认cost设为'0'):

INSERT INTO solutions (problem_id, cost) VALUES (NEW.id, '0');

内容的提问来源于stack exchange,提问作者k4rnaj1k

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 22:21:00