www.gsyw.net > sql中主键外键可以是同一个字段吗?

sql中主键外键可以是同一个字段吗?

从表的外键是与主表的主键构成外键关系的,所以并不影响一个表里面的列同时是主键和外键.A表的主键可以同时是B表的外键.而C表的主键也可以同时是A表的外键.

在一个表中主键必须唯一不能为空,外键是必须在依赖的关系表中存在的才可以的

表1:房间id(主键),房间类型id(对表2的外键) 表2:类型id(主键),类型名称 主表为表1,通过外键(房间类型id)关联表2即可查出想要的数据. select table1.id,table2.name from table1 left join tabl氦互份就莓脚逢协抚茅e2 on table1.type_id=table2.id

主键就是唯一能标识表中数据行的列,一个表中只能有一个 外键简单说就是另一个表的主键/候选键,是两表之间存在关联的键,外键的键值必须是另一个表的主键/候选键的键值 一个表的外键可以是另一个表的主键

一张表只能有一个主键,但是可以有多个外键,比如说你这张表的ID是可以被任何需要此ID的表引用的,只要需要这个ID,就可以引用这个主键.

嗯,你已经知道了. 一张表只能有一个主键,但主键可以包含一到多个字段 ,多个字段的主键并不影响主键唯一性约束的概念.网页链接 主键是表内关系,外键是表之间的关系,两者没有冲突,所以可以是相同字段.

外键(Foreign Key) 如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键.由此可见,外键表示了两个关系之间的联系.以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表.外键又称作外关键字.换而言之,如果关系模式R中的某属性集不是R的主键,而是另一个关系R1的主键则该属性集是关系模式R的外键,通常在数据库设计中缩写为FK.在SQL SERVER中,主键是一个表中的约束.这个约束,一张表只能有一个,一般作为ID使用,这个约束一般给别人外键引用.这个约束的功能就是,不可重复,保证了唯一性,正是这种特性,使得大多数人都把他作为表中ID的字段使用.一个表的外键可以是另一个表的主键

一般来说引用的都是主键,主要是由主键的性质决定的,主键是一些唯一非空的元素的集合,那么才有引用的意义.之所以限制主键,主要是建立外键的表一般都是基础属性表,这种键值如果重复那么后果比较严重,所以一般都用主键进行限制.

可以的.一个字段可以为其他表中字段的外键,当然可以为本身表的主键.比如商品编号可以为主键,也可以同时为外键

我是这么玩的 CREATE TABLE `dispatch_cost` ( `id` varchar(50) NOT NULL COMMENT 'id', `belong` varchar(15) DEFAULT NULL COMMENT '设计交付日期', …… …… primary key (`id`), constraint `FK_DISPATCH_ID` foreign key (`id`) references `dispatch_order` (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='成本表';

网站地图

All rights reserved Powered by www.gsyw.net

copyright ©right 2010-2021。
www.gsyw.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com