mysql中主要有以下几种约束:主键约束、唯一约束、非空约束和外键约束。
主键约束和唯一约束都可以令字段不能重复。主键在定义时自动附加了一个唯一约束。
但在mysql中,主键只能有一列,因此主键约束和唯一约束的区别是唯一约束可以有多个,且可以约束多列的集合不能重复,而一张表中只能有一个主键约束,且只能约束某一列的值不能重复。
下面是一个小实例:
DDL定义表的结构:
create table user_select
(
uid int not null,
fid varchar(100) not null
);
使用以下语句添加唯一约束:
alter table fund.user_select add unique key (uid, fid);
也可以一开始就在DDL中定义唯一约束:
create table user_select
(
uid int not null,
fid varchar(100) not null,
constraint uid
unique (uid, fid)
);