意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

mysql如何删除外键关系

来源:恒创科技 编辑:恒创科技编辑部
2023-12-15 00:13:59

这篇“mysql如何删除外键关系”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“mysql如何删除外键关系”文章吧。

在mysql中,可以利用ALTER TABLE语句配合DROP关键字来删除外键关系(约束),语法“ALTER TABLE 数据表名 DROP FOREIGN KEY 外键约束名;”;“ALTER TABLE”语句用于修改表(改变原有表的结构),而添加了“DROP FOREIGN KEY”语句后,修改功能就限制在删除外键关系(约束)上。


mysql如何删除外键关系

本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。

外键关系(外键约束)是表的一个特殊字段,经常与主键约束一起使用。对于两个具有关联关系的表而言,相关联字段中主键所在的表就是主表(父表),外键所在的表就是从表(子表)。

外键用来建立主表与从表的关联关系,为两个表的数据建立连接,约束两个表中数据的一致性和完整性。比如,一个水果摊,只有苹果、桃子、李子、西瓜等 4 种水果,那么,你来到水果摊要买水果就只能选择苹果、桃子、李子和西瓜,其它的水果都是不能购买的。

主表删除某条记录时,从表中与之对应的记录也必须有相应的改变。一个表可以有一个或多个外键,外键可以为空值,若不为空值,则每一个外键的值必须等于主表中主键的某个值。

当一个表中不需要外键约束时,就需要从表中将其删除。外键一旦删除,就会解除主表和从表间的关联关系。

那么mysql怎么删除外键关系(约束)?

在mysql中,可以利用ALTER TABLE语句配合DROP关键字来删除外键关系(约束)。

删除外键约束的语法格式如下所示:

ALTERTABLE数据表名DROPFOREIGNKEY外键约束名;

ALTER TABLE 语句用于改变原有表的结构,例如增加或删减列、更改原有列类型、重新命名列或表等。

DROP FOREIGN KEY语句用于删除外键关系

示例:

使用以下语句查看数据表 tb_emp2 的外键约束:

SHOWCREATETABLEtb_emp2\G
mysql>SHOWCREATETABLEtb_emp2\G
***************************1.row***************************
Table:tb_emp2
CreateTable:CREATETABLE`tb_emp2`(
`id`int(11)NOTNULL,
`name`varchar(30)DEFAULTNULL,
`deptId`int(11)DEFAULTNULL,
`salary`floatDEFAULTNULL,
PRIMARYKEY(`id`),
KEY`fk_tb_dept1`(`deptId`),
CONSTRAINT`fk_tb_dept1`FOREIGNKEY(`deptId`)REFERENCES`tb_dept1`(`id`)
)ENGINE=InnoDBDEFAULTCHARSET=gb2312
1rowinset(0.12sec)

删除数据表 tb_emp2 中的外键约束 fk_tb_dept1

ALTERTABLEtb_emp2DROPFOREIGNKEYfk_tb_dept1;
mysql>ALTERTABLEtb_emp2
->DROPFOREIGNKEYfk_tb_dept1;
QueryOK,0rowsaffected(0.19sec)
Records:0Duplicates:0Warnings:0

以上就是关于“mysql如何删除外键关系”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注恒创行业资讯频道。

上一篇: MySQL约束与多表查询实例分析 下一篇: Mysql中锁的使用场景是什么