Postgres Vachar检查约束

时间:2020-04-06 14:07:41

标签: sql postgresql

我的患者表中有一个名为“紧急”的varchar属性。我希望此属性为“是”或“不是”,而不是其他任何属性。我做了一些事情,但是我无法验证它是否有效,因为Postgres无法在我的计算机上运行,​​并且在网上也找不到任何东西。因此,我想确认我所做的是否正确。这是我所做的:

CREATE TABLE public.Examen(
    NumExamen         VARCHAR (50) NOT NULL ,
    SignesCliniques   VARCHAR (1000) NOT NULL ,
    Urgent            VARCHAR (50) NOT NULL ,
    DateExamen        DATE  NOT NULL ,
    NumInfirmier      VARCHAR (50) NOT NULL  ,
    CONSTRAINT Examen_PK PRIMARY KEY (NumExamen),
    Urgent CHECK (Urgent='Yes' or Urgent='No')
)WITHOUT OIDS;

1 个答案:

答案 0 :(得分:3)

您的代码有效。但是,为什么不使用内置的boolean数据类型呢?而不是“ yes” /“ no”?

CREATE TABLE public.Examen (
    NumExamen         VARCHAR(50) NOT NULL PRIMARY KEY,
    SignesCliniques   VARCHAR(1000) NOT NULL ,
    Urgent            BOOLEAN NOT NULL ,
    DateExamen        DATE  NOT NULL ,
    NumInfirmier      VARCHAR(50) NOT NULL  
) WITHOUT OIDS;

偶然地,您可以在Web上的多个站点上测试代码,包括DB Fiddle,SQL Fiddle和Rextester。