Mysql的约束条件之unique(单列唯一和联合唯一)

Mysql的约束条件之unique

1.unique的单列唯一

unique 的建表方式有两种:

# 第一种
create table department(
        id int,
        name char(10) unique
    )

# 第二种
create table department(
        id int,
        name char(10),
        unique(name)
    )

二者区别:一种是在末尾写,一种是在写完数据类型后写。
至于unique的作用?我们来看看:

insert into department values(1,'IT'),(2,'IT')

运行——然后数据库报错:
在这里插入图片描述
在这里,因为我们设置了name为unique,所以不能有两个’IT’,修改一下:

insert into department values(1,'IT'),(2,'厨师')

运行成功,来看表内容:
在这里插入图片描述
总结:unique的作用:保证唯一

2.unique的联合唯一

假设存在这样一种情况:有两个参数name和ip,若name相同,则ip不能相同;ip相同,则name不能够相同。

这个时候,就可以使用unique的联合唯一。

下边来建表:

create table department(
        id int,
        ip char(15),
        name char(10),
        unique(name,ip),
        unique(id)
    )

往表内插入内容:

insert into department values
(1,'192.168.11.10',80),
(2,'192.168.11.10',80)

运行——报错:
在这里插入图片描述
因为name和ip相同,现在我们把name修改一下,ip不改:

insert into department values(1,'192.168.11.10',80),(2,'192.168.11.10',81)

运行,查看表内容:
在这里插入图片描述
当然如果是改ip不改name也是可以的,大家可以自行试试看,这里就不给大家演示了。

觉得本篇文章对你有帮助的话可以给作者支持一下,您的鼓励就是我前进路上的不懈动力~

  • 14
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值