MYSQL约束的添加和删除

一、主键约束
1、默认主键的删除
一般人们创立数据表时多半会设置好主键,例如:
-> create table if not exists book(
-> id int not null auto_increment primary key,
-> …
查看表结构
MYSQL约束的添加和删除
MYSQL约束的添加和删除
现在看着id做主键有些不好,开始删除主键:
alter table web drop primary key;
报错
ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key
#只能有一个自增项且必须定义为键值
MYSQL约束的添加和删除
所以想删除id主键,必须先取消其自增特性:
alter table web modify id int unsigned;
MYSQL约束的添加和删除
再次删除主键成功
MYSQL约束的添加和删除
MYSQL约束的添加和删除
2、添加主键属性
alter table web add primary key (id);
MYSQL约束的添加和删除

二、唯一约束-unique
1、唯一约束的添加
alter table web add unique (name);
MYSQL约束的添加和删除
2、唯一约束的删除
alter table web drop index name;
MYSQL约束的添加和删除
三、非空约束

1、非空约束的添加
MYSQL约束的添加和删除
2、非空约束的删除
alter table web modify alexa int null;
MYSQL约束的添加和删除