MySQL怎么设置外键约束?


当前第2页 返回上一页

在修改数据表时添加外键约束的语法规则为:

1

2

ALTER TABLE <数据表名> ADD CONSTRAINT <索引名>

FOREIGN KEY(<列名>) REFERENCES <主表名> (<列名>);

示例:修改数据表 tb_emp2,将字段 deptId 设置为外键,与数据表 tb_dept1 的主键 id 进行关联,输入的 SQL 语句和运行结果如下所示。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

mysql> ALTER TABLE tb_emp2

    -> ADD CONSTRAINT fk_tb_dept1

    -> FOREIGN KEY(deptId)

    -> REFERENCES tb_dept1(id);

Query OK, 0 rows affected (1.38 sec)

Records: 0  Duplicates: 0  Warnings: 0

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)

删除外键约束

对于数据库中定义的外键,如果不再需要,可以将其删除。外键一旦删除,就会解除主表和从表间的关联关系,MySQL 中删除外键的语法格式如下:

1

ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>;

示例:删除数据表 tb_emp2 中的外键约束 fk_tb_dept1,输入的 SQL 语句和运行结果如下所示。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

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> 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`)

) ENGINE=InnoDB DEFAULT CHARSET=gb2312

1 row in set (0.00 sec)

可以看到,tb_emp2 中已经不存在 FOREIGN KEY,原有的名称为 fk_emp_dept 的外键约束删除成功。

以上就是MySQL怎么设置外键约束?的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

mysql大于等于怎么写

mysql 8.0.14 安装配置方法图文教程(通用)

如何解决mysql个别文字乱码的问题

mysql安装后.net程序运行出错如何解决

mysql在cmd里中文乱码解决办法

windows下mysql8.0.29winx64安装配置方法图文教程

mysql索引的数据结构是什么

mysql中存储过程和存储函数是什么?

mysql能存储多少条数据

mysql如何设置自增id

更多相关阅读请进入《mysql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...