MySQL删除增加外键及删除增加主键
夏志121 人气:0一、MySQL删除外键
格式:
alter table 表名 drop foreign key 外键名;
表名就是有外键存在的那个表。
外键名可以通过查看表的创建信息得到。
查看表的创建信息格式:
show create table 表名;
二、MySQL增加外键
外键可以在修改表时添加,但是添加外键的前提是:
从表中外键列中的数据必须与主表中主键列中的数据一致或没有数据
给表增加外键格式:
alter table 需要添加外键的表名 add constraint 外键名 foreign key(本表字段列表) references 主表名(字段列表);
在创建数据表时添加外键格式:
constraint 外键名 foreign key(本表字段列表) references 主表名 (主表字段列表);
注意:
1、外键字段的数据类型必须与父表中的主键类型一致
2、添加外键的数据表的存储引擎必须是InnoDB,否则即使添加外键成功,也不具有外键约束的作用。
3、一张表中不能出现同名外键
4、当外键字段中有值后,再添加外键时,已有的值必须在父类主键中,否则无法创建成功。
三、MySQL删除主键
格式:
alter table 表名 drop primary key;
四、MySQL增加主键
格式:
alter table 表名 add primary key(字段列表);
在创建数据表时添加主键格式:
字段名 数据类型 primary key;
注意:
1、一个数据表主键约束只能有一个。
2、主键的字段不允许空值。
补充:MySQL中有外键时数据表的删除方法
直接删除grade,被引用的数据表时如下
报错
解决方法
先删除student,要引用的数据表
然后删除grade,被引用的数据表
成功
总结
加载全部内容