mysql 一个表外键能关联多个表吗

asdfgcjw 2014-04-22 02:32:05
假设有三个表,A,B,C,A表的id字段与B表的其中一个字段是一对一的关系,同时A表的id字段与C表的其中一个字段也是一对一的关系,不知到这样设计数据库可不可以
...全文
2453 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
小蜗快跑丶 2018-05-07
  • 打赏
  • 举报
回复
引用 8 楼 sunbo624 的回复:
你的“模型”就有问题 对象或者表就三种关系 1对1 1对n n对n 你这a和b已经对上了 又要和c对 好比你一个USB数据线 要给两部手机充电
谁告诉你一个数据线不能给俩手机充电?东西是死的人是活的!一张表多个外键咋不行?一张表里面不设关联,代码软关联谁又规定了不行?
sunbo624 2014-04-23
  • 打赏
  • 举报
回复
那就用两个键 或者干脆一对一用共同主键而非外键
asdfgcjw 2014-04-22
  • 打赏
  • 举报
回复
引用 8 楼 sunbo624 的回复:
你的“模型”就有问题 对象或者表就三种关系 1对1 1对n n对n 你这a和b已经对上了 又要和c对 好比你一个USB数据线 要给两部手机充电
比如说项目中的用户user表,如果遇到它对其中一个表是一对一的关系,跟另外一个表也是一对多的关系,这时候怎么处理
asdfgcjw 2014-04-22
  • 打赏
  • 举报
回复
引用 9 楼 u012974494 的回复:
虽然楼上都说不可以,但是我觉得是可以的,假设一个场景机房配置电脑,总共有三张表,学生基础信息为a,学生密码表为b,a与b就是1对1的关系,同时还有一张表为计算机表c,假设一个学生只能有一台电脑,那a与c也是1对1的关系.只要你在设置表的时候正确设置主表和子表的关系,删除时先删子表再删主表就不会出现楼主不能删除的问题了
我试了下,按照你的方法来做是完全可以的
Mich_LY 2014-04-22
  • 打赏
  • 举报
回复
虽然楼上都说不可以,但是我觉得是可以的,假设一个场景机房配置电脑,总共有三张表,学生基础信息为a,学生密码表为b,a与b就是1对1的关系,同时还有一张表为计算机表c,假设一个学生只能有一台电脑,那a与c也是1对1的关系.只要你在设置表的时候正确设置主表和子表的关系,删除时先删子表再删主表就不会出现楼主不能删除的问题了
sunbo624 2014-04-22
  • 打赏
  • 举报
回复
你的“模型”就有问题 对象或者表就三种关系 1对1 1对n n对n 你这a和b已经对上了 又要和c对 好比你一个USB数据线 要给两部手机充电
asdfgcjw 2014-04-22
  • 打赏
  • 举报
回复
引用 2 楼 rui888 的回复:
你是业务上想这么做吧。
如果业务上想做这个功能的话,不知到一般情况下怎么考虑?
asdfgcjw 2014-04-22
  • 打赏
  • 举报
回复
引用 5 楼 xiaopeipei2004 的回复:
[quote=引用 4 楼 asdfgcjw 的回复:] [quote=引用 1 楼 xiaopeipei2004 的回复:] 不能,如果一定这样设计,去掉所有外键,code控制关联关系
那一个表的外键是不是只能关联一个表,而不能关联多个表?[/quote] 嗯,是。[/quote] 我想再请教一下,如果想在程序里控制表的关联关系应该怎么做
grapepaul 2014-04-22
  • 打赏
  • 举报
回复
引用 4 楼 asdfgcjw 的回复:
[quote=引用 1 楼 xiaopeipei2004 的回复:] 不能,如果一定这样设计,去掉所有外键,code控制关联关系
那一个表的外键是不是只能关联一个表,而不能关联多个表?[/quote] 嗯,是。
asdfgcjw 2014-04-22
  • 打赏
  • 举报
回复
引用 1 楼 xiaopeipei2004 的回复:
不能,如果一定这样设计,去掉所有外键,code控制关联关系
那一个表的外键是不是只能关联一个表,而不能关联多个表?
asdfgcjw 2014-04-22
  • 打赏
  • 举报
回复
引用 2 楼 rui888 的回复:
你是业务上想这么做吧。
没,现在正在学习hibernate,然后发现一个表外键能关联多个表后不能正常删除了
tony4geek 2014-04-22
  • 打赏
  • 举报
回复
你是业务上想这么做吧。
grapepaul 2014-04-22
  • 打赏
  • 举报
回复
不能,如果一定这样设计,去掉所有外键,code控制关联关系

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧