mysql建立外键时,多对多如何建立?一张表中的主键只能有一个,外键可以有多个 , 如果一张表中多个列都需要被别的表的外键参考,需要使用候选码(非空并且唯一),具体到你的这个问题的需求可以考虑用如下方法解决:
把a表中的bookid和authorid都设置为非空并且唯一,即
create table a(bookid int not null unique, authorid int not null unique);
然后在book表和author表中就可以分别设置外键来参照a表中两个不同的字段了 。
打开我的navicat,然后找到我的teacher表 , 选中它,然后点击菜单栏上的‘design table'
2. 在弹出的对话框中找到“Foreign Keys”,然后单机 。
3. 然后会出现一个设置外键的界面,一共有七列 。简单介绍一下这几列的意思 。‘name’:可以不填,你一会保存成功系统会自动生成 。FieldName’:就是你要把哪个键设置为外键 。这里选择‘dept’,‘Reference DadaBase’:外键关联的数据库 。‘Reference Table‘ :关联的表 这里是dept表‘Forgin filed Names’:关联的的字段 , 这里是code‘ondelete’:就是删除的时候选择的动作 。这里我的选择是setNull,意思就是当关联的表删除以后 , teacher》dept字段会设置为null.
4. 设置完成后点击‘save’保存退出,也可以点击‘add Foreign Key’再添加一个外键 。
打开我的navicat,然后找到我的teacher表,选中它 , 然后点击菜单栏上的‘design table’ 。如下图:
2. 在弹出的对话框中找到“Foreign Keys”,然后单机 。如下图:
3. 然后会出现一个设置外键的界面,一共有七列 。简单介绍一下这几列的意思 。‘name’:可以不填,你一会保存成功系统会自动生成 。FieldName’:就是你要把哪个键设置为外键 。这里选择‘dept’,‘Reference DadaBase’:外键关联的数据库 。‘Reference Table‘ :关联的表 这里是dept表‘Forgin filed Names’:关联的的字段,这里是code‘ondelete’:就是删除的时候选择的动作 。这里我的选择是setNull,意思就是当关联的表删除以后,teacher》dept字段会设置为null 。如图
4. 设置完成后点击‘save’保存退出 , 也可以点击‘add Foreign Key’再添加一个外键 。k如图:
数据库建表时怎么设置外键数据库建表时怎么设置外键步骤如下:
第一步、打开要建外键表的设计器,右击选择“关系” 。
第二步、然后弹出“外键关系”窗体,我们选择“添加”,然后点击“表和列规范”后面的小按钮 。
第三步、弹出另外一个窗体让我们选择主键表和列,记住要选择相同的,选好之后点击确定 。
第四步、展开INSERT和UPDATE规范,在更新规则和删除规则有四个选项,分别是“不执行任何操作”、“级联”、“设置为NULL”、“设置默认值” 。
mysql怎么设定外键为已经添加好mysql建表外键怎么设的数据表添加外键:
语法:alter table 表名 add constraint FK_ID foreign key(mysql建表外键怎么设你的外键字段名) REFERENCES 外表表名(对应的表的主键字段名);
例: alter table tb_active add constraint FK_ID foreign key(user_id) REFERENCES tb_user(id)
//FK_ID是外键的名称
/*
CREATE TABLE `tb_active` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`content` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`user_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`),
KEY `user_id_2` (`user_id`),
CONSTRAINT `FK_ID` FOREIGN KEY (`user_id`) REFERENCES `tb_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
*/
删除外键
推荐阅读
- 手机怎么样控制路由器,用手机如何控制路由器
- mysql还原数据备份文件,mysql数据库数据备份还原
- mysql只安装server,mysql安装没有mysql server
- 经典经营游戏推荐,好的经营游戏
- 32位mysql怎么安装 mysql55 32位安装教程
- 二手显卡怎么在电脑上检测,二手显卡价格表行情2023
- 大连开发区红星海学校网站,大连开发区红星海学校网站查询
- mysql文本文件用啥类型,mysql存文本用什么数据类型
- 荣耀手机怎么打开卡片模式,荣耀手机怎么开卡槽