Merhaba postgreSQL beklediğim gibi çalışan bir kısıtlama almak gibi görünmüyor. Pgadmin içinden aşağıdaki SQL sorgusunu çalıştırıyorum.
-- Check: "TypeCheck"
-- ALTER TABLE "ComLog" DROP CONSTRAINT "TypeCheck";
ALTER TABLE "ComLog"
ADD CONSTRAINT "TypeCheck" CHECK ("Type" SIMILAR TO 'email|post|IRL|minutes');
COMMENT ON CONSTRAINT "TypeCheck" ON "ComLog" IS 'One of email|post|IRL|minutes';
Yürütüldüğünde bu dönüştürülür.
-- Check: "TypeCheck"
-- ALTER TABLE "ComLog" DROP CONSTRAINT "TypeCheck";
ALTER TABLE "ComLog"
ADD CONSTRAINT "TypeCheck" CHECK ("Type" ~ similar_escape('email|post|IRL|minutes'::text, NULL::text));
COMMENT ON CONSTRAINT "TypeCheck" ON "ComLog" IS 'One of email|post|IRL|minutes';
Bunun, Türler sütunu için girişimi e-posta gönderimi IRL veya dakikalarından biriyle sınırlandırmasını bekliyorum. Ancak tablo verileri girerken bu türlerden birini girdiğinizde bu kısıtlama başarısız olur. Türler sütunu karakter türündedir. Herkes bunu nasıl düzeltebileceğini biliyor mu? Teşekkürler.
CHECK (type in ('email','post','IRL','minutes')
mı?