テーブルに新しいCONSTRAINT
を追加することには少し問題があります。
UNIQUE CONSTRAINT
を追加して、テーブルの既存のデータを検証しません。PostgreSQL - CONSTRAINT UNIQUEを追加して既存のデータを検証しない
私は既存のデータにいくつかの重複があり、そのまま残したいと思います。
私は、クエリ書いた:
ALTER TABLE tbl1
ADD CONSTRAINT unique_const UNIQUE (fld1, fld2) NOT VALID;
をしかし、それは働いていない、私はエラーを得た:
UNIQUE constraints cannot be marked NOT VALID
私はまた、すべてのTIGGERS
削除しようとした:
ALTER TABLE tbl1 DISABLE TRIGGER all;
ALTER TABLE tbl1 ADD CONSTRAINT unique_const UNIQUE (fld1, fld2);
ALTER TABLE tbl1 ENABLE TRIGGER all;
しかし、それをまた動作しません。
既存の行を検証せずにUNIQUE CONSTRAINT
を追加する方法を知っている人はいますか?
これは9.5と9.6でも当てはまります –
ありがとうございます。それを編集しました。 :) – mxscho