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也是可以的,大家可以自行试试看,这里就不给大家演示了。

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

猜你喜欢

转载自blog.csdn.net/m0_50481455/article/details/114112814