สวัสดีฉันไม่สามารถรับข้อ จำกัด ในการทำงานตามที่ฉันคาดหวังใน postgreSQL จากภายใน pgadmin ฉันรันเคียวรี SQL ต่อไปนี้
-- 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';
เมื่อดำเนินการนี้จะถูกแปลงเป็น
-- 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';
ฉันคาดว่าสิ่งนี้จะ จำกัด การป้อนข้อมูลของฉันสำหรับคอลัมน์ประเภทเป็นหนึ่งในโพสต์อีเมล IRL หรือนาที อย่างไรก็ตามเมื่อป้อนข้อมูลตารางข้อ จำกัด นี้ล้มเหลวเมื่อฉันป้อนหนึ่งในประเภทเหล่านี้ คอลัมน์ประเภทเป็นประเภทอักขระ ไม่มีใครรู้วิธีการที่จะแก้ไขปัญหานี้. ขอบคุณ
CHECK (type in ('email','post','IRL','minutes')
หรือไม่?