【问题标题】:MySQL: How to design a TableMySQL:如何设计表
【发布时间】:2017-01-28 06:45:04
【问题描述】:

我有一个配料/膳食表设置,其中 X 成分组合可以等于 Y 膳食。

例如: Ingredients '胡萝卜、肉、卷心菜' = Meal 炖菜。

用户可以选择并添加他们自己的食材,然后制作一顿饭。我已将这两个表都设为多对多关系。我意识到我需要第三张桌子来添加每餐的食材,但我遇到的问题是成本。

例如: 假设您想做一顿三明治餐。你会添加面包(1 美元)、肉(1 美元)和一些奶酪(2 美元)。这将使这顿饭“三明治”4 美元。

我遇到的问题是我的 MEAL 表有一个“成本”列,而与膳食相关联的膳食成分有一个“成本”列,但是必须先创建 MEAL,然后再选择成分,这意味着它还不知道总成本,因为成分排在最后。

如何告诉mysql这顿饭的TOTAL COST是还没放进去的食材?

【问题讨论】:

  • 难道你不能完全去掉meals.cost 列并通过对成分列表的成本求和来动态计算它吗?
  • 这不是很好的餐厅,不是吗?

标签: php mysql


【解决方案1】:

取决于您输入数据的方式,但我们假设您有一个用于meals 的接口和一个用于meal-ingredients 的接口(可能是用PHP 编写的,因为您将其标记为这样)。

我要做的是,当您更新或创建成分时,您要么使用将更新 meals.cost 的触发器,要么让您的 PHP 脚本在插入/更新后运行该查询。这样你的cost 应该总是准确的。在现场的情况下,我会将其设为默认值0(没有配料的餐点在技术上是没有成本的)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多