1.单一主键
使用一个列作为主键列,当该列的值有重复时,则违反唯一约束。
2.联合主键
使用多个列作为主键列,当多个列的值都相同时,则违反唯一约束。
修改表添加主键约束
使用DDL语句添加主键约束
ALTER TABLE 表名 ADD PRIMARY KEY(列名);
示例:
将emp表中的employee_id修改为主键。
alter table emp add primary key(employee_id);
主键自增长
MySQL中的自动增长类型要求:
一个表中只能有一个列为自动增长。
自动增长的列的类型必须是整数类型。
自动增长只能添加到具备主键约束与唯一性约束的列上。
删除主键约束或唯一性约束,如果该列拥有自动增长能力,则需要先去掉自动增长然后在删除约束。
alter table 表名 modify 主键 类型 auto_increment;
示例:
将emp表中的employee_id主键修改为自增。
alter table emp modify employee_id int auto_increment;
删除主键
使用DDL语句删除主键
ALTER TABLE 表名 DROP PRIMARY KEY;
注意:
删除主键时,如果主键列具备自动增长能力,需要先去掉自动增长,然后再删除主键。
示例:
删除emp表中的employee_id主键约束。
去掉自动增长:
alter table emp modify employee_id int;
删除主键:
alter table emp drop primary key;