icey小媛

2020-11-08   阅读量: 426

Mysql

表级联合唯一约束

扫码加入数据分析学习群
-- 列级唯一约束
create table stu1(id int primary key,sname varchar(10) unique ,num int unique);

-- 表级唯一约束与列级无差别,在表结构,key里sname和num都显示UNI
create table stu2(id int primary key,sname varchar(10) ,num int ,unique(sname),unique(num));
insert into stu2 values(1,"会计",1);
insert into stu2 values(2,"会计",2);-- 报错

-- 表级联合唯一约束会在第一个字段显示MUL,也就是在desc stu3;运行时key里只有sname显示MUL
create table stu3(id int primary key,sname varchar(10),num int ,unique(sname,num));
insert into stu3 values(1,"会计",1);-- 第一条记录
insert into stu3 values(2,"会计",2);-- 第二条记录不报错
insert into stu3 values(3,"会计",2);-- 触发联合唯一约束,与第二条记录重复,报错是for key 'sname'

-- 表级联合唯一约束设置唯一约束名称
create table stu4(id int primary key,sname varchar(10),num int ,constrain aaa unique(sname,num));
insert into stu4 values(1,"会计",1);-- 第一条记录
insert into stu4 values(2,"会计",2);-- 第二条记录不报错
insert into stu4 values(3,"会计",2);-- 触发联合唯一约束,与第二条重复,报错是for key 'aaa'


40.0812 3 0 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子