www.gsyw.net > 请问 sql 字段 可不可以 即是主键又是外键

请问 sql 字段 可不可以 即是主键又是外键

create table tablename ( id int not null primary key, name char(8) constraint foreign key(id) references table2(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='成本表';

从表的外键是与主表的主键构成外键关系的,所以并不影响一个表里面的列同时是主键和外键.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

不可以.所谓外键:如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键.由此可见,外键表示了两个关系之间的联系.以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表. 至于主键:主关键字是被挑选出来,作表的行的惟一标识的候选关键字.一个表只有一个主关键字.主关键字又可以称为主键.

3 stuid number(10) references t_stu(stuid) 就是这个字段关联t_stu表的stuid字段;4 couseid number(10),5 constraint fk_couseid foreign key(couseid)6 references t_couse(couseid)7 on delete cascade); 这个是外键关联,并做同步删除操作,就

当然可以. 如果有以下表: 班级(Id,Name) 班长(Id,Name) 假设班长的Id就是班级的Id,这样因为一个班级只有一个班组长.因此班长的“Id”既是主键,也是外键

不能,因为外键必是唯一的,但其中的一个字段不一定是唯一的.所以会报错!

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

要修改主键和外键的话需要先指定主键和外键的名称,以后修改时要用到.这是的主键和外键设置步骤:修改的sql语句:--修改主键的名称PK_myTest为PK_myTest22alter table myTest drop constraint PK_myTestalter table myTest add constraint

网站地图

All rights reserved Powered by www.gsyw.net

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