使用postgres sql时遇到问题
我有一个添加文件夹(Web应用程序)的界面 我有一个表“文件”,列“ref_composant”我自动生成以下方式。:
每次插入记录时,我都会增加“ref_composant” Ref00001 在每次插入时递增Ref00002,Ref00003 .... 我使用PostgreSQL创建SQL reqette
ref_deq character varying(10) DEFAULT ('ref'::text || lpad((nextval('seq_refcomposant'::regclass))::text, 6, '0'::text))
with sequence seq_refcomposant
我的问题是这个列不能为空。并且在我插入colone的某个时候是null
在不返回corect序列的情况下,我必须在此方法中做什么..它可以为null
答案 0 :(得分:1)
您的问题是,在插入或修改行时(而不是在语句的末尾),会立即检查NOT NULL和CHECK约束。
要解决此问题,请使列可为空,在插入时使用before触发器填充它,并添加after约束强制执行非null约束。