您好,欢迎访问一九零五行业门户网

mysql怎么删除外键关系

在mysql中,可以利用alter table语句配合drop关键字来删除外键关系(约束),语法“alter table 数据表名 drop foreign key 外键约束名;”;“alter table”语句用于修改表(改变原有表的结构),而添加了“drop foreign key”语句后,修改功能就限制在删除外键关系(约束)上。
本教程操作环境:windows7系统、mysql8版本、dell g3电脑。
外键关系(外键约束)是表的一个特殊字段,经常与主键约束一起使用。对于两个具有关联关系的表而言,相关联字段中主键所在的表就是主表(父表),外键所在的表就是从表(子表)。
外键用来建立主表与从表的关联关系,为两个表的数据建立连接,约束两个表中数据的一致性和完整性。比如,一个水果摊,只有苹果、桃子、李子、西瓜等 4 种水果,那么,你来到水果摊要买水果就只能选择苹果、桃子、李子和西瓜,其它的水果都是不能购买的。
主表删除某条记录时,从表中与之对应的记录也必须有相应的改变。一个表可以有一个或多个外键,外键可以为空值,若不为空值,则每一个外键的值必须等于主表中主键的某个值。
当一个表中不需要外键约束时,就需要从表中将其删除。外键一旦删除,就会解除主表和从表间的关联关系。
那么mysql怎么删除外键关系(约束)?
在mysql中,可以利用alter table语句配合drop关键字来删除外键关系(约束)。
删除外键约束的语法格式如下所示:
alter table 数据表名 drop foreign key 外键约束名;
alter table 语句用于改变原有表的结构,例如增加或删减列、更改原有列类型、重新命名列或表等。
drop foreign key语句用于删除外键关系
示例:
使用以下语句查看数据表 tb_emp2 的外键约束:
show create table tb_emp2\g
mysql> show create table tb_emp2\g*************************** 1. row *************************** table: tb_emp2create table: create table `tb_emp2` ( `id` int(11) not null, `name` varchar(30) default null, `deptid` int(11) default null, `salary` float default null, primary key (`id`), key `fk_tb_dept1` (`deptid`), constraint `fk_tb_dept1` foreign key (`deptid`) references `tb_dept1` (`id`)) engine=innodb default charset=gb23121 row in set (0.12 sec)
删除数据表 tb_emp2 中的外键约束 fk_tb_dept1
alter table tb_emp2 drop foreign key fk_tb_dept1;
mysql> alter table tb_emp2 -> drop foreign key fk_tb_dept1;query ok, 0 rows affected (0.19 sec)records: 0 duplicates: 0 warnings: 0
【相关推荐:mysql视频教程】
以上就是mysql怎么删除外键关系的详细内容。
其它类似信息

推荐信息