0

postgres sql の使用時に問題が発生しました

フォルダー (Web アプリケーション) を追加するためのインターフェイスがあります。列「ref_composant」を持つテーブル「ファイル」があります。次の方法で自動的に生成されます。

レコードを挿入するたびに、「ref_composant」をインクリメントしました 挿入ごとに Ref00001 がインクリメントされます Ref00002、Ref00003 .... PostgreSQL で SQL リクエストを作成します

    ref_deq character varying(10) DEFAULT ('ref'::text || lpad((nextval('seq_refcomposant'::regclass))::text, 6, '0'::text))

with sequence seq_refcomposant

私の問題は、この列を null にできないことです。コロンを挿入すると、いつかnullになります

正しいシーケンスを返さずにこのメソッドで何をしなければならないか..それはnullになる可能性があります

4

1 に答える 1

1

問題は、行が挿入または変更されるとすぐに (ステートメントの最後ではなく) NOT NULL および CHECK 制約が常にチェックされることです。

これを回避するには、列を null 可能にし、before トリガーで挿入時にデータを入力し、after 制約を追加して not null 制約を適用します。

于 2013-05-06T11:36:11.410 に答える