MySQL联合主键

单字段主键

MySQL单字段主键相信大家都熟悉了。就是以一个字段主要数据行的主键,比如下面这个表

1
2
3
4
5
6
create table `user`(
user_id int(11) auto_increment,
username varchar(24),
password char(32),
primary key(user_id)
);

user_id作为单字段主键,说明任何用户的user_id都不能相同,一个user_id即标识一个用户。

多字段联合主键

再看这个表

1
2
3
4
5
6
create table `user`(
username varchar(24),
password char(32),
email varchar(40),
primary key(username,email)
);

这里使用username,email作为联合主键,为了标识一个用户,只有在username和email共同存在,且不同时才能标识。

例子

1
2
3
4
username	password	email
zhangsan 111111 zhangsan@qq.com
zhangsan 111111 lisi@qq.com
lisi 111111 zhangsan@qq.com

这三条记录均为合法记录,多字段联合主键的核心就是(所有字段才能唯一确定一条记录,就像上面的username,email)。

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×