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

 我来答
艾朋义穰漫
2019-09-21 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:32%
帮助的人:738万
展开全部
数据库中,一个表字段可以是本表的主键,同时,也可以是其他表的外键(在其他表中被设置为外键)。
若某字段是本表的外键,则该字段引用的字段一定是某表的主键。(在两个表中,两上字段可不同名,但属性一定相同)
定义:
主键是能确定一条记录的唯一标识。比如,一条记录包括身份证号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。
主键字段不能是NULL。
主键是一种唯一性索引,但它必须指定为“PRIMARY
KEY”。
一个表只能有一个主键。
外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如:A表中的一个字段,在B表中,该字段是B表的主键,那他就可以在A表中被设置为外键。
曹修筠兴梅
2019-12-07 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:26%
帮助的人:892万
展开全部
可以,这说明这两张表的主键相关联,只是那张是主表(就是该表的主键作为从表的外键),那张是从表(该表的主键同时也是外键),需要自己定义好。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
向雪晴锐捷
2019-09-09 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.1万
采纳率:34%
帮助的人:790万
展开全部
从表的外键是与主表的主键构成外键关系的,所以并不影响一个表里面的列同时是主键和外键。A表的主键可以同时是B表的外键。而C表的主键也可以同时是A表的外键。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
库振国萨林
2019-05-13 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:26%
帮助的人:805万
展开全部
create
table
yuangong(--创建表名
cleld
nvarchar(10)
primary
key,--此字段指定为表的主键
cleName
nvarchar(10)
not
null,--不可以为空
cleSex
nvarchar(1)
check(cleSex='男'
or
cleSex='女'),--非男即女
cleAge
int
check(cleAge<=150),--约束年龄
cleZw
nvarchar(10)
)
create
table
yonghu
(--创建表名
cleld
nvarchar(10)
primary
key
foreign
key
references
yuangong(cleld),--此字段指定为yonghu表的主键,同时也是yuangong(cleld)的外键,此处注意格式问题。
passwd
nvarchar(10)
)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式