不光是mysql,任何比较完善的关系型database都可以设置复合主键,设置复合主键的原因是当一个列不足以用来表示一条记录的唯一性的时候,就需要设置多个列为复合主键,来标识一条记录的唯一性。
创新互联建站专业为企业提供唐山网站建设、唐山做网站、唐山网站设计、唐山网站制作等企业网站建设、网页设计与制作、唐山企业网站模板建站服务,10多年唐山做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
不一定的,MySQL 每张表只能有1个自动增长字段,这个自动增长字段即可作为主键,也可以用作非主键使用,但是请注意将自动增长字段当做非主键使用时必须必须为其添加唯一索引,否则系统将会报错。例如:
-- 将自动增长字段设置为主键
create table t1 (id int auto_increment Primary key,sid int);
-- 将自动增长字段设置为非主键,注意必须显式添加Unique键
create table t2 (sid int primary key,id int auto_increment Unique);
-- **将自动增长字段设置为非主键如果未添加唯一索引将会报错**,如下面语句
create table t3 (sid int primary key,id int auto_increment);
添加主键~
alter
table
table_name
add
constraint
pk_name
primary
key(列名);
添加外键~
alter
table
table_name
add
constraion
pk_name
foreign
key(列名)
references
table_name(列名);
基础语法~其他条件自行添加