问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

PostgreSQL中约束了声明条件[0-9]{2}-[0-9]{5}

发布网友 发布时间:2022-04-10 09:46

我来回答

2个回答

懂视网 时间:2022-04-10 14:07

1.  检查约束

设置某个字段里的数值必须满足约束表达式的条件。

例:限制人的年龄在0~120之间,语句如下:

create table person(name varchar(40),age int check (age >=0 and age<=120));

insert into  person values(‘name1‘,120);

insert into  person values(‘name1‘,121);

执行结果如下,年龄字段超过120报错,提示受“person_age_check”的限制。

技术分享图片

指定约束的名称,需要使用关键词“constraint”,示例如下

create table person(name varchar(40),age int constraint age_chk check (age >=0 and age<=120));

一个检查约束可以引用多个列,例如:存储商品平常价格和打折价格,而打折价格低于平常价格,示例如下

create table products (

    product_no integer,

    name text,

    price numeric check (price > 0),

    dazhe_price numeric check (dazhe_price > 0),

    constraint dazhe_price_chk check (price >dazhe_price)

);

在上面的例子中,针对价格(price > 0)和打折后价格(dazhe_price > 0)的约束称为列约束,这两个约束依附于特定的列,但第三个约束(price >dazhe_price)独立于任何一个列定义,称为表约束。

执行结果如下:

技术分享图片

注:oracle下,检查约束可以禁用,但在PostgreSQL下却不可以禁用。

2.  非空约束

非空约束仅仅指定一个列中不会有空值。非空约束等价于检查约束(column_name is not null)。示例如下:

create table products (

    product_no integer,

    name text,

    price numeric not null,

    dazhe_price numeric check (dazhe_price > 0),

    constraint dazhe_price_chk check (price >dazhe_price)

);

3.  唯一约束

唯一约束保证在一列或一组列中保存的数据是唯一值,示例如下:

create table products (

    product_no integer UNIQUE,

    name text,

    price numeric

);

为一组列定义一个唯一约束,示例如下:

create table products (

    product_no integer,

    name text,

    price numeric,

    UNIQUE(product_no, price)

);

为唯一约束指定名称:

create table products (

    product_no integer CONSTRAINT pro_no_unique UNIQUE,

    name text,

    price numeric

);

PostgreSQL的约束

标签:table   ble   name   height   oracle   sql   person   integer   gre   

热心网友 时间:2022-04-10 11:15

check 约束主要是拿来检查该字段中的数据是否满足这个条件,你这个应该是这样吧 CHECK (eanprefix like '[0-9]{2}-[0-9]{5}') ,不过否定没有必要这样做啊,也可以加not在里面哈
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
有关通知参加讲座的英语作文范例 关于LC振荡电路中的振荡电流,下列说法中正确的是( ) 三星S6充电口进水怎么办? 充电口进水了没注意,插上充电了,过会一看没 X、Y、Z、W是同一周期的短周期元素,原子序数依次增大。 991的补码 名蔻青春定格肽品牌理念 茗蔻亮青春定格肽的品牌理念 茗蔻亮青春定格肽品牌理念 茗蔻亮青春定格肽品牌介绍 10月31日出生的名人有哪些 小朋友智力题,急求解!!! 10月31日是太阳天蝎还是月亮天蝎 SHANUI BBOS TOA-5360功放机面板按钮功能说明 跪求高人指点功放机按钮上面的英文是什么意思!(每个按钮的功能) 功放上面按钮功能 功放使用说明,步骤 天龙功放1500遥控器按键图解- 问一问 功放机功能键 国庆节假,南昌有什么好玩的地方,,,帮忙推荐几个,,,最好是适合初二学生一起去玩的 功放机功能键图解 国庆节去江西婺源旅游,大约游玩两三天。求详细最佳路线安排及住宿问题。我们在南昌。 eq键在功放机上怎么使用 自己开车从南昌到安义古村 怎么走?想国庆节自驾游。从八一大桥出发可以吗? 亲您好,我的手机微信打不开,上面总显示关闭微信,是咋回事? 为什么我的手机一充电就自己开机 就是手机充了一下电就一直自动开机关机了是什么原因? 落花生中苹果桃子石榴象征意义 桃代表什么生肖 为什么桃子象征长寿? 警衔的澳门司法警察 督察上级是什么官位? 香港警察督查相当于大陆警察什么级别 丰田-雷凌 - 请问雷凌的M档如何使用? 新卡罗拉m挡和d挡的区别 荣放m档是什么意思 2015款丰田rav4自动挡m档什么意思 拖车怎么拖汽车的 丰田威驰m档怎么用 手自一体的车坏在路上怎么拖 自己找私家车拖车违法吗? 毕业了,想在天津找工作,天津招聘信息应该去哪里找啊~ 新生儿可以买两种不同的医疗保险吗 天津招聘渠道 想在天津或者外地找工作,真心求职 新生儿商业医疗保险出险后是一次性赔付还是可以多次赔付? 我朋友在天津找工作,关于天津招聘要求有什么? 微信聊天时朋友给我发微博的链接,为什么打不开?不是打开以后一片空白 是根本戳它没反应 苹果11的本地网络在哪里 苹果11wifi机可以还原网络设置嘛?