当前第2页 返回上一页
1 2 | ALTER TABLE <数据表名> ADD CONSTRAINT <外键名>
FOREIGN KEY (<列名>) REFERENCES <主表名> (<列名>);
|
例 2
修改数据表 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)
|
注意:在为已经创建好的数据表添加外键约束时,要确保添加外键约束的列的值全部来源于主键列,并且外键列不能为空。
删除外键约束
当一个表中不需要外键约束时,就需要从表中将其删除。外键一旦删除,就会解除主表和从表间的关联关系。
删除外键约束的语法格式如下所示:
1 | ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>;
|
例 3
删除数据表 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主键是什么?
如何在phpmyadmin中修改mysql密码
centos 6.5下 mysql-community-server. 5.7.18-1.el6安装
decimal是什么类型
mac上mysql怎么卸载不了
掌握四大mysql知识点,就可吊打面试官!
如何使用navicat连接mysql数据库?
mysql如何插入多条数据?
mysql能装两个吗?
三分钟带你了解mysql数据类型
更多相关阅读请进入《mysql》频道 >>
机械工业出版社
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
转载请注明出处:木庄网络博客 » mysql怎么增加外键