MySQL联合主键
单字段主键
MySQL单字段主键相信大家都熟悉了。就是以一个字段主要数据行的主键,比如下面这个表
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即标识一个用户。
多字段联合主键
再看这个表
create table `user`( username varchar(24), password char(32), email varchar(40), primary key(username,email) );
这里使用username,email作为联合主键,为了标识一个用户,只有在username和email共同存在,且不同时才能标识。
例子
username password email
zhangsan 111111 zhangsan@qq.com
zhangsan 111111 lisi@qq.com
lisi 111111 zhangsan@qq.com
这三条记录均为合法记录,多字段联合主键的核心就是(所有字段才能唯一确定一条记录,就像上面的username,email)。