0

我在使用 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

我的问题是该列不能不为 null 。在某些时候我插入冒号时为空

在不返回正确序列的情况下我必须在此方法中执行的操作..它可以为空

4

1 回答 1

1

您的问题是 NOT NULL 和 CHECK 约束总是在插入或修改行时立即检查(而不是在语句的末尾)。

要解决此问题,请使列可为空,在插入时使用前触发器填充它,并添加后约束强制非空约束。

于 2013-05-06T11:36:11.410 回答