• 技术文章 >数据库 >mysql教程

    mysql怎么删除外键关系

    青灯夜游青灯夜游2022-07-01 20:01:42原创347

    在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 外键约束名;

    示例:

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

    SHOW CREATE TABLE tb_emp2\G
    mysql> SHOW CREATE TABLE tb_emp2\G
    *************************** 1. row ***************************
           Table: tb_emp2
    Create 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=gb2312
    1 row in set (0.12 sec)

    1.png

    删除数据表 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

    2.png

    3.png

    【相关推荐:mysql视频教程

    以上就是mysql怎么删除外键关系的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:mysql
    上一篇:MySQL怎么解决delete大量数据后空间不释放的问题 下一篇:归纳整理MySQL半同步复制配置
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 完全掌握MySQL触发器• linux中mysql的1045错误怎么解决• mysql查询视图命令是什么• mysql怎么查询表的字符集编码• MySQL约束与多表查询基础详解
    1/1

    PHP中文网