Mysql一个外键对应不同的两张表的主键

黑夜愁客 2009-03-24 10:02:13
我有一个table:reservation中的一个外键为userid
我想在要把这个外键对应到table:Guest中的主键guestid,或者对应到table:Member中的主键memberId.
就是无论是Guest,还是Member,他们的记录都要保存在reservation中。
可是好像一个外键只能对应以上表的主键上哦。
怎么解决呢?谢谢。
...全文
436 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
黑夜愁客 2009-03-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dring321 的回复:]
仔细想了下lz的问题:
如果是一个字段对应两个表,那就没有必要给它们映射关系。因为这种的情况的话,不可能通过userid找到guestid或者memberid。所以设置外键也没起什么作用。
lz的情况,一般是用在日志里的吧,可以在插入一条记录的时候,将guestid或memberid直接赋值给userid,因为userid的删改并不影响到guest表或member表,所以没必要设置外键了
[/Quote]这个说的不错
有道理我看看先
代码间的舞者 2009-03-24
  • 打赏
  • 举报
回复
仔细想了下lz的问题:
如果是一个字段对应两个表,那就没有必要给它们映射关系。因为这种的情况的话,不可能通过userid找到guestid或者memberid。所以设置外键也没起什么作用。
lz的情况,一般是用在日志里的吧,可以在插入一条记录的时候,将guestid或memberid直接赋值给userid,因为userid的删改并不影响到guest表或member表,所以没必要设置外键了
代码间的舞者 2009-03-24
  • 打赏
  • 举报
回复
弄一张中间表。
userid,(guestid或memberid)

或者弄两张中间表
userid,guestid
userid,memberid

62,614

社区成员

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

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