在mysql数据库中有一个主表和有一个从表 , 在从表中怎么生成一个外键呢?在主表和从表中有一种约束力 , 增加从表数据时(从表一个列)在主表已经保存了一个主键的数据 , 如果主表主键不存在的数据增加从表中数据库会出现错误 , 主表和从表数据是一一对应的 。 下面对你学习mysql有帮助的话 , 给我投票、点赞或者收藏!
需要这些哦
mysql
sqlyog
方式/
1在MySQL-test数据库中新建两个表:yuangong,gongzi.
这个表是本家儿表 , 员工编号 , 名称 。
CREATE TABLE `yuangong` (
`bianhao` varchar(3) NOT NULL,
`mingcheng` varchar(10) DEFAULT NULL,
PRIMARY KEY (`bianhao`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
文章插图
2这个gongzi是从表:编号 , 月份 , 工资 。
CREATE TABLE `gongzi` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`bianhao` varchar(3) DEFAULT NULL,
`yuefen` varchar(6) DEFAULT NULL,
`gongzi` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
文章插图
3在从从表中增添一个外键 , 选择从表bianhao列 , 因为bianhao在本家儿表中是本家儿键 。
ALTER TABLE `test`.`gongzi`
ADD FOREIGN KEY (`bianhao`) REFERENCES `test`.`yuangong`(`bianhao`) ON DELETE CASCADE;
文章插图
4在输入本家儿表和从表的数据:
insert into `yuangong` (`bianhao`, `mingcheng`) values('001','王媛媛');
insert into `yuangong` (`bianhao`, `mingcheng`) values('002','张依依');
insert into `gongzi` (`id`, `bianhao`, `yuefen`, `gongzi`) values('1','001','202001','1000');
insert into `gongzi` (`id`, `bianhao`, `yuefen`, `gongzi`) values('2','001','202002','2000');
insert into `gongzi` (`id`, `bianhao`, `yuefen`, `gongzi`) values('3','001','202003','3000');
insert into `gongzi` (`id`, `bianhao`, `yuefen`, `gongzi`) values('4','002','202004','3000');
文章插图
文章插图
5在外键中选择的是DELETE CASCADE选项 , 暗示删除本家儿表数据时从表响应数据要MySQL主动删除 。
文章插图
6删除本家儿表编号=001的数据 , 看看从表数据有什么转变 。
DELETE FROM yuangong WHERE bianhao='001'
SELECT * FROM gongzi
【mysql怎么生成表的外键】本家儿表删除bianhao=001的数据 , 在从表中系统也删除了bianhao=001的数据 。
文章插图
文章插图
以上内容就是mysql怎么生成表的外键的内容啦 , 希望对你有所帮助哦!
推荐阅读
- Norton Security怎么使用优化磁盘功能
- 华为P30 Pro怎么取消触摸屏幕提示音
- Creo怎么解决尺寸不在范围的报错
- ps怎么给图片打马赛克
- 怎么使用wps2019校对文档
- 北方田鼠生病了怎么办
- 挑选毛足鼯鼠的注意事项
- 复齿鼯鼠生病了怎么治疗
- 歌田鼠生病了怎么办
- 刺毛鼠怎么养