Hallo, ich kann nicht scheinen, dass eine Einschränkung so funktioniert, wie ich es in postgreSQL erwarte. Innerhalb von pgadmin führe ich die folgende SQL-Abfrage aus.
-- 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';
Bei der Ausführung wird dies in konvertiert.
-- 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';
Ich erwarte, dass dies meine Eingabe für die Spalte "Typen" auf eine der E-Mail-Post-IRL oder Minuten beschränkt. Bei der Eingabe von Tabellendaten schlägt diese Einschränkung jedoch fehl, wenn ich einen dieser Typen eingebe. Die Spalte Typen ist vom Typ Zeichen. Weiß jemand, wie man das behebt? Vielen Dank.
CHECK (type in ('email','post','IRL','minutes')
?