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也是可以的,大家可以自行试试看,这里就不给大家演示了。
觉得本篇文章对你有帮助的话可以给作者支持一下,您的鼓励就是我前进路上的不懈动力~