问题描述
- 关于数据库改变值的问题
-
我有一张user表,一张hotel表,一张hotel_order 一张hotel_order_item表,
其中,
user里面的hotel_id 关联hotel的id,
hotel里面的id还有user的id都关联hotel_order表,
hotel_order的id关联hotel_order_item 表;
用户下单以后 在后台页面显示的时候会显示哪个hotel里面的哪个用户下单多少单
份数是多少;
如果user里面的hotel_id 的值变为了关联另一个hotel的id,
那么以前的hotel_order的数据也是要有的 ,
新关联的hotel的那个user 下单要放在新的hotel里面去显示 以前的订单也不能算在里面,请问各位大神,这样的逻辑应该怎么解决?
解决方案
这个叫表的自关联,等于在这个表中存在某个具体id的用户,在这个表中自己关联自己,
我给你的评论中,
userId userName parint_Id hotel_id (带下划线的为关联列,这个是命名规范)
1 a null null
2 a 1 301
3 a 1 302
这三个id为一个人
但是id为1的是基础信息。不去动它。,id为2和3的关联了id为1的。 用2和3去作为hotel的关联项。
解决方案二:
在user表添加parent字段。这两个字段关联自身(user表)的user_id。
比如你user表里:userId=1 username=a ... parent_id=null hotel_id=null (基础信息)
然后user id 为1的旗下有两个hotel的haunted。
userid=2 username=a... parent_id=1 hotel_id=301.
userid=2 username=a... parent_id=1 hotel_id=302.
解决方案三:
在user表添加parent字段。这个字段关联自身(user表)的user_id。
比如你user表里:userId=1 username=a ... parent_id=null hotel_id=null (基础信息)
然后user id 为1的旗下有两个hotel的haunted。
userid=2 username=a... parent_id=1 hotel_id=301.
userid=2 username=a... parent_id=1 hotel_id=302.
解决方案四:
在user表添加parent字段。这个字段关联自身(user表)的user_id。
比如你user表里:userId=1 username=a ... parent_id=null hotel_id=null (基础信息)
然后user id 为1的旗下有两个hotel的haunted。
userid=2 username=a... parent_id=1 hotel_id=301.
userid=3 username=a... parent_id=1 hotel_id=302.
解决方案五:
表的自关联问题,你可以搜索下看看