插入数据的时候违反唯一约束条件_Mysql约束条件

约束条件

1约束条件

约束是一种限制,通过对表中的数据做出限制,来确保表中数据的完整性,唯一性

08efce4fcc046156952f35c9e8f16ebd.png

默认约束

CREATE TABLE tb(

id INT DEFAULT 'a' ,

name VARCHAR(20)

);

插入数据的时候,如果没有明确为字段赋值,

则自动赋予默认值

在没有设置默认值的情况下,默认值为NULL

ddcef5c1461d3af0f374b675811624c4.png
497b06d4c7f22ddca93e73a356fafa5a.png

非空约束

CREATE TABLE tb(

id INT NOT NULL,

name VARCHAR(20)

);

限制一个字段的值不能为空,空着报错;

Insert的时候必须为该字段赋值

9e87e1e100616ed8a5ecf305e30a7f3d.png

主键一个表里只有一个,主键非空且唯一,你必须插入数据,否则就报错;

主键约束

a47494aa22ee2333b810391a477ed199.png

这里重复插入1,就会因为有了主键约束而报错;

自增长约束(auto_increment)

CREATE TABLE tb(

id INT auto_increment,

name VARCHAR(20),PRIMARY KEY (id)

);

自动编号,和主键组合使用,

一个表里面只能有一个自增长

3c690f789076d341fc2b8cc5864bb25a.png

CREATE TABLE tb(id INT auto_increment,name VARCHAR(20) ,PRIMARY KEY (id)) auto_increment=1000;

9f4f6aa3833fd1ceb9eddc16b8a6dad3.png
5afadb0185097ac826970edfed63dc02.png

外键约束(foreign key)

CREATE TABLE a(

id_a INT PRIMARY KEY,

name VARCHAR(20)

);

CREATE TABLE b(

id_b INT PRIMARY KEY,

name VARCHAR(20),

foreign key (id_b) references a(id_a)

);

我有的你一定有, 你没有的, 我绝对没有

1. B表中的id_b字段,只能添加 id_a中已有的数据。

2. A表中id_a 被参照的数据, 不能被修改和删除

7a94a21ffce623498f980ba5d0224835.png
9dabea31aedfb6aa8801e88c12501282.png
162ee54492f0d3a11a68fd2136ee84e0.png

上面三个图我们就能看出,a表中没有的,b表中也不能插入

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值