2017-12-04 11 views
0

を変更するために制約を追加:私が実行する領域エラー

ALTER DOMAIN public.remainingamount 
    ADD CONSTRAINT "chk_remainingAmount" CHECK (remainingAmount > 0); 

IのはpgAdmin 4で次のメッセージをrecevied:

ERROR: column "remainingamount" does not exist SQL state: 42703

列が存在します。私はサイドバーで見ることができます!私はライン以下TE実行したときに証拠として、:

ERROR: type "remainingamount" already exists SQL state: 42710

がどのように私は、既存のドメインに新しい制約を追加することができます。

ALTER DOMAIN public.remainingamount 
    ADD CONSTRAINT "chk_remainingAmount" CHECK (remainingAmount > 0); 

私がメッセージを受け取りますか?

+0

パーmoney:

ALTER DOMAIN public.remainingamount ADD CONSTRAINT "chk_remainingAmount" CHECK (VALUE > 0::money); 

であると仮定すると。それが問題でない場合は、ドメイン定義を表示してください(同じステートメントに対して異なるエラーメッセージが表示されることはほとんどないため、問題を修正してください)。 –

答えて

0

CHECKの制約で使用できる変数はVALUEです。基本型は、あなたがremainingAmount` `周りに二重引用符を忘れてしまった可能性が非常に高いthe documentation:

CHECK (expression)

(...)

Currently, CHECK expressions cannot contain subqueries nor refer to variables other than VALUE.

+0

ERROR:演算子が存在しません:money> integer ヒント:与えられた名前と引数の型に一致する演算子がありません。明示的な型キャストを追加する必要があるかもしれません。 SQLの状態:42883 –

+0

エラーメッセージには、何をすべきかが明確に示されています...更新された回答を参照してください。 – klin

関連する問題