数据库外键必须是另一个表的主键吗? 20

我需要建两张表,学生表(id,学号,姓名),详细信息表(id,学号,.......);id均为建立在数据库中的自动增长,主键;学号,unique;但外表引用的时候用学号好... 我需要建两张表,学生表(id,学号,姓名), 详细信息表(id,学号,.......);
id均为建立在数据库中的自动增长,主键;学号,unique; 但外表引用的时候用学号好一些,但是在hibernate中查询时好像有点问题,这样可以吗
感谢大家的回答
通过查询和代码测试, 外键并不一定是另一个表的主键,而且可以是另一个表的有唯一约束的字段,只是在项目开发时要多加些步骤
展开
 我来答
flyingFish211
2012-03-28 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
外键必须是外表主键, 定义就是这样的

你那个用学号比id好很多吧,id在你表里面实在有点画蛇添足的意思
追问
可是数据要自动增长的,做标识列,id是int整形的,学号是字符串型的
追答
噢。。。这样的阿。

其实你要那个id有什么用呢?oracle
select xxx, rownum from tab
完全可以替代你那个id, so?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
浑卓君Ld
2012-03-31
知道答主
回答量:18
采纳率:0%
帮助的人:16.8万
展开全部
有了学号干嘛还要ID啊·~~
有点多余

外键必须是另外一个表的主键 这个没错
外键就是连接两张表的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
溥冉愈德运
2019-03-19 · TA获得超过3518个赞
知道大有可为答主
回答量:3064
采纳率:27%
帮助的人:210万
展开全部
或者是另一个表的唯一值。就是外键的字段在另一个表中不能重复且字段类型和长度必须相同
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式