Hai Saya sepertinya tidak bisa mendapatkan kendala yang bekerja seperti yang saya harapkan di postgreSQL. Dari dalam pgadmin saya menjalankan query SQL berikut.
-- 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';
Ketika dieksekusi ini dikonversi menjadi.
-- 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';
Saya berharap ini akan membatasi input saya untuk kolom Jenis ke salah satu pos email IRL atau menit. Namun ketika memasukkan data tabel kendala ini gagal ketika saya memasukkan salah satu dari jenis ini. Kolom Jenis adalah tipe karakter. Adakah yang tahu cara memperbaikinya? Terima kasih.
CHECK (type in ('email','post','IRL','minutes')
?