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

Supabase触发器中NEW引用自动生成ID为NULL的问题排查与解决

问题原因与修复方案

问题根源

你当前的触发器是语句级触发器(FOR EACH STATEMENT),这类触发器触发时,NEW变量并不指向任何具体的插入行——它只有在**行级触发器(FOR EACH ROW)**中才会包含刚插入行的完整数据(包括自动生成的id字段)。这就是user_x表的x_id插入为NULL的核心原因。

修复步骤

只需修改触发器定义,把触发级别从FOR EACH STATEMENT改为FOR EACH ROW,这样触发器会对每一行插入操作单独触发,NEW.id就能正确获取到x表中刚生成的主键值:

CREATE TRIGGER add_user_x 
AFTER INSERT ON public.x
FOR EACH ROW EXECUTE FUNCTION add_user_x();

验证说明

修改完成后,向public.x插入数据时,行级触发器会针对每一条新插入的记录调用add_user_x函数,此时NEW.id就是这条记录在x表中自动生成的id,最终能正确填充到user_x的x_id字段里。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 06:27:13