In Postgres, how do you restrict possible values for a particular column?

后端 未结 3 656
刺人心
刺人心 2021-01-30 08:09

I want to create a column element_type in a table (called discussion) that allows the text values \"lesson\" or \"quiz\" but will generate an error if

3条回答
  •  说谎
    说谎 (楼主)
    2021-01-30 08:55

    You could add a CHECK CONSTRAINT:

    ALTER TABLE distributors 
       ADD CONSTRAINT check_types 
       CHECK (element_type = 'lesson' OR element_type = 'quiz');
    

    Although IMO the cleaner option would be to create an ENUM:

    CREATE TYPE element_type AS ENUM ('lesson', 'quiz');
    

提交回复
热议问题