MYSQL约束的添加和删除

一、主键约束
1、默认主键的删除
一般人们创立数据表时多半会设置好主键,例如:
-> create table if not exists book(
-> id int not null auto_increment primary key,
-> …
查看表结构
在这里插入图片描述
在这里插入图片描述
现在看着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
#只能有一个自增项且必须定义为键值
在这里插入图片描述
所以想删除id主键,必须先取消其自增特性:
alter table web modify id int unsigned;
在这里插入图片描述
再次删除主键成功
在这里插入图片描述
在这里插入图片描述
2、添加主键属性
alter table web add primary key (id);
在这里插入图片描述

二、唯一约束-unique
1、唯一约束的添加
alter table web add unique (name);
在这里插入图片描述
2、唯一约束的删除
alter table web drop index name;
在这里插入图片描述
三、非空约束

1、非空约束的添加
在这里插入图片描述
2、非空约束的删除
alter table web modify alexa int null;
在这里插入图片描述