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

如何修改SQL查询从onboarding_tasks表取id生成合法task_id

第二段SQL修改方案

你可以直接在INSERT的SELECT语句中查询onboarding_tasks表的id字段作为合法的task_id值,无需手动生成固定序列,以下是两种常用场景的实现代码:


场景1:每个已存在的入职任务生成固定数量的关联子任务

(示例中每个任务生成2条task_item,总数量50条和你原脚本生成数量对齐)

INSERT into onboarding_task_item (title, task_id, onboarding_tasks)
SELECT
    left(md5(random()::text), 10) AS title,
    ot.id AS task_id,
    ot.id AS onboarding_tasks -- 若该字段含义不是关联任务id,可按需调整赋值逻辑
FROM onboarding_tasks ot
CROSS JOIN generate_series(1,2) AS g(id);

场景2:子任务随机关联已有任务id,不要求每个任务都有子项

INSERT into onboarding_task_item (title, task_id, onboarding_tasks)
SELECT
    left(md5(random()::text), 10) AS title,
    (SELECT id FROM onboarding_tasks ORDER BY random() LIMIT 1) AS task_id,
    (SELECT id FROM onboarding_tasks ORDER BY random() LIMIT 1) AS onboarding_tasks
FROM generate_series(1,50) as g(id);

以上两种写法生成的task_id都是onboarding_tasks表中实际存在的合法值,不会触发外键约束报错,执行完不需要手动修改字段内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 17:45:03