1
私はpostgresqlで条件付きチェック制約を作成しようとしています。 a_typeが 'a'のときは、bには数字だけが含まれます。 a_typeが 'a'でなければ、bに任意の文字を入れたい。どうすればこれを達成できますか?私は今これを持っています:PostgreSQLとRegexの条件付きチェック制約
編集: これは動作するはずです。
CONSTRAINT test CHECK (a_type <> 'a' AND b ~* '^.$') OR (a_type = 'a' AND b ~* '^[0-9]+$')