PostgreSQL column check constraint 检查插入数据是否为特定值

用数据库建表的时候,常有一种需求,我们希望某一行的值只能是 v1v2v3 ,在PostgreSQL中,我们可以用 check constraint 实现。

建立以下学生信息表:

create table students (
    name               varchar(40) NOT NULL,
    age                integer NOT NULL,
    sex                char(1) NOT NULL,
    country            varchar(40) NOT NULL
);

我们需要当 sex 的值为 'F' 或者 'M' ,以及 country 的值为 'China' 、 'Japan'、 'Korean' 的时候才能插入值。

create table students (
    name               varchar(40) NOT NULL,
    age                integer NOT NULL,
    sex                char(1) NOT NULL,
    country            varchar(40) NOT NULL,
    CHECK((sex = 'F' OR sex = 'M' ) AND (country = 'China' OR country = 'Japan' OR country = 'Korean'))
);
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,107评论 19 139
  • 3.2 弹性分布式数据集 本节简单介绍RDD,并介绍RDD与分布式共享内存的异同。 3.2.1 RDD简介 在集群...
    Albert陈凯阅读 1,560评论 0 0
  • 但愿我们遇到一个人,他可以偷走我们的影子,倾听我们内心的苦痛,分享我们人生的喜乐,成为我们的心灵的伙伴,为影子...
    袅袅之耿阅读 390评论 0 0
  • 苛坝的启示 1、重要会议上大胆提出见解,相信自己的判断; 2、当伙伴不理解时,策略式“撂挑子”也是一种积极的表现;...
    阿体阅读 343评论 0 0
  • 我在自我放飞的路上越来越远,比较满意现在的生活。先保证每天两个小时的学习修炼吧,心中藏着一把火,知道这种日子不好过...
    河西何夕阅读 375评论 0 0