美文网首页
Mysql表中同一个字段能否同时外键关联另外多个表的不同列

Mysql表中同一个字段能否同时外键关联另外多个表的不同列

作者: cli1871 | 来源:发表于2020-04-17 14:56 被阅读0次

转载

表中同一列能否外键关联其它多表

虽数据库允许,比如下面这个例子,但违背第三范式,给现实意义也造成一定困扰,在数据库执行操作上也带来麻烦。

create table a(aid int, val varchar(10), primary key(aid));

create table b(bid int, val varchar(10), primary key(bid));

create table c(cid varchar(10), abid int not null);

alter table c add constraint `fk_aid` foreign key (`abid`) references `a` (`aid`);

alter table c add constraint `fk_bid` foreign key (`abid`) references `b` (`bid`);

insert into a values(1,'aa');

insert into b values(2,'bb');

insert into c (cid,abid) values(234,1);

--INSERT 语句与 FOREIGN KEY 约束"fk_bid"冲突。表"dbo.b", column 'bid'。

insert into c (cid,abid)values(235,2);

--INSERT 语句与 FOREIGN KEY 约束"fk_aid"冲突。表"dbo.a", column 'aid'。

------------------------------------------------------

insert into a values(2,'aacc');

insert into b values(1,'bbdd');

insert into c (cid,abid) values(236,1);

insert into c (cid,abid) values(237,2);

--a表的aid列跟b表的bid列同时含有1和2,则在c插入执行成功

drop table c , a , b

相关文章

  • Mysql表中同一个字段能否同时外键关联另外多个表的不同列

    转载 表中同一列能否外键关联其它多表 虽数据库允许,比如下面这个例子,但违背第三范式,给现实意义也造成一定困扰,在...

  • MySQL外键详解

    什么是外键约束 外键是表中的一列或一组列链接到另外一张表的一列或一组列。外键会在相关联的表中起到约束作用,保证数据...

  • mysql基础(2)

    外键 在students表中,通过class id的字段,可以把数据与另一张表(class)关联起来,这种列称为外...

  • MySQL数据库学习day6

    回顾 外键:关联关系(表与表之间:表中字段指向另一张表的主键) 联合查询:union,多表合并和单表不同查询条件 ...

  • 2018-09-03:外键

    外键:若一张表中有一个非主键字段指向了别一张表中的主键,则将该字段叫做外键。 一张表中可以有多个外键。...

  • 2021-07-21Sqlalchemy关联查询

    一、无外键关联查询 1.直接查询 2.关联表中字段过多,但是关联获取只取一个字段 3.同一个表查询多次不处理会报错...

  • MySQL查看表结构简单命令

    简单描述表结构,字段类型desc 表名称;显示表结构,字段类型,主键,是否为空等属性,但不显示外键。 查询表中列的...

  • orm查询操作

    单表查询操作 外键的跨表查询 正向查询(在有外键字段的表向没有的表查询) 反向查询(没有外键的字段向有外键字段的表...

  • 2018-01-19

    1对n关系:外键关联与逻辑外键外键关联缺陷:外键字段的值必须依赖于另一张表的唯一性约束字段逻辑关联缺陷:逻辑外键所...

  • 外键约束

    外键的定义: 如果表A的主关键字是表B中的字段,则该字段称为表B的外键,表A称为主表,表B称为从表。 外键的作用 ...

网友评论

      本文标题:Mysql表中同一个字段能否同时外键关联另外多个表的不同列

      本文链接:https://www.haomeiwen.com/subject/hfqyvhtx.html