关于数据库改变值的问题

问题描述

关于数据库改变值的问题

我有一张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.

解决方案五:

表的自关联问题,你可以搜索下看看

时间: 2024-09-08 07:39:37

关于数据库改变值的问题的相关文章

javaweb-通过按钮改变值传递到数据库里

问题描述 通过按钮改变值传递到数据库里 大致功能就是我需要做一个按钮改变商品的上架状态,点击之后会传递三个值,上架状态,上架时间,上架人求大神提供详细的例子 解决方案 点击按钮,通过ajax调用http接口(serverlet或者strust框架的action都可以),然后把参数(传过去),后台接收到后,从request中取出,然后写库,一般的java开发web的资料都会讲这些 解决方案二: http://wenku.baidu.com/link?url=HNLLDaVtVw4G7VLl4pS6

值传递-页面的值与后台数据库的值的比较

问题描述 页面的值与后台数据库的值的比较 我是新手,没有理解用ssh时页面的值到底是怎样传递到数据库的.以简单的登录功能为例,从页面输入的值是通过是通过什么路径一步一步和数据库的数据进行对比的.求教大神帮我屡清楚一下思路,尽量详细些,谢谢! 解决方案 用户输入的数据,会post给struts的控制器 你写的控制器去调用hibernate,访问数据库,查询有没有对应的记录,如果有,就返回一个视图,否则返回另一个. hibernate配置配置,映射到数据库的表 spring用来管理beans 再不会

界面-列表增删查改数据库字段值

问题描述 列表增删查改数据库字段值 网页主界面页面上显示一些数据列表,然后我想对页面上的数据进行修改.修改后能够自动的对数据进行入库保存,而且是对已有的数据进行更新,数据库中没有的数据进行自动插入.而且最好是可复用性高,对任何数据表的任何数据字段都可以进行保存,并且更新条件最好是可以自定义设置.用JS+java实现,本人对代码只是略懂,最好是实现起来简单. 解决方案 这个问题实现的方法比较多,不过如果对于初学者,不管哪种实现方式,写代码都不简单.因为要从数据库取数,把数据显示在网页上,还需要获取

tornado motor函数调用另一个异步操作Mongo数据库返回值是Future对象

问题描述 tornado motor函数调用另一个异步操作Mongo数据库返回值是Future对象 我用motor在tornado框架下来操作mongodb,按照官方教学文档写的结果正常. >>> @gen.coroutine... def do_find_one():... document = yield db.test_collection.find_one({'i': {'$lt': 2}})... print document...>>> IOLoop.cur

tabhost-安卓数据库改变后,界面的刷新问题

问题描述 安卓数据库改变后,界面的刷新问题 目前学习中遇到的一个问题,希望大神给予解决. 我的activity继承自tabActivity, 给里面的tabhost添加或者删除一个选项的时候,后台的数据库已经才做成功了.但是界面上的东西没办法立即刷新. 需要我退出当前activity然后再重新进来才能将界面刷新. 之前用的listview也存在这个问题,我用notifyDataSetChanged():这个函数解决了.但是现在是tabhost的选项卡添加问题,不知道怎么弄. 小弟刚学安卓,对一些

sql-按后退键后重载数据库的值

问题描述 按后退键后重载数据库的值 在主屏幕中获得数据库的一个确定值: String s2 = ""Logged in as "" + myDbHelper.getActivePlayer();bPlayQuiz.setText(s2); 然后点击设置activity的时候,点击player,另一个player获得active=1因此当我再点返回键的时候,还是会保留第一个值,怎么样实现刷新呢? 解决方案 可以试试在onResume中重载 @Overridepubli

推送-java当数据库改变的时候,自动刷新页面。

问题描述 java当数据库改变的时候,自动刷新页面. 在线等~~~~~ 做一个项目要求数据库改变的时候自动刷新页面,找了一下资料有两种方法. 1,定时去查数据库然后刷新 2,数据库自己推送 求大神详借一下俩种或一种. 解决方案 数据库推不了,自己想办法吧,可以做p2p发送消息,写数据的客户端发消息给网内用户 解决方案二: 用udp广播,或者服务器上有一个服务程序,作为某个客户端的消息转发,用socket 解决方案三: 你在对数据库做增删改查的时候写一个回调接口,通知页面更新,java里的观察者模

怎么获取datalist中绑定好的数据库的值

问题描述 我现在需要datalist中绑定好的数据库的值,一个UserID和一个ArtcleID,然后想将获取到的值存在session中可是现在获取不到这两个值现在写好的代码是这样的:protectedvoidDataList3_ItemDataBound(objectsender,DataListItemEventArgse){LabelUserIDLabel=(Label)e.Item.FindControl("UserIDLabel");LabelArticleIDLabel=(

VB数据库取值保存到数组问题

问题描述 VB数据库取值保存到数组问题 数据从数据库中查出,保存到数组中,为什么最后显示的只有一条呢 解决方案 以下是代码