0
を挿入するとき、私はこのようなテーブルを持っている列のペアを確認します。はpostgres:新しい行
id | person | supporter | referredby|
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
0 | ABC | DEF | |
1 | ABC | GHI | DEF |
2 | CBA | FED | |
3 | CBA | IHG | FED |
私はINSERTを拒否するように、私はpostgresのを希望されて達成しようとしている場合referredby
ISNの値特定の人物の場合はsupporter
の列には入力しないでください。拒否(IHGはABCのための支持体として記載されていない) :受け付け
4, 'ABC', 'JKL', 'IHG'
(nullにすることができる):
4, 'ABC', 'JKL', null
:上記のデータを用いて、例えば(ヌル
referredby
はOKです)4, 'ABC', 'JKL', 'DEF'
:受け入れました(DEFはABCのサポーターとして記載されています)
多分チェック制約ですか?私はそれを一緒に纏める方法がわからない
外部キーを多分? – jarlh
それは2つの列をチェックするために働くでしょうか?私はそれが1つだけに限定されていると思った –
(人、サポーター)に一意の制約が必要です、そして、fkを追加してください。 – jarlh