2017-01-27 56 views
0

我有一个配料/餐桌设置,其中X配料组合可以等于Y餐。MySQL:如何设计表格

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

用户将选择并添加他们自己的配料,然后生成一顿饭。我已经使这两个表格有很多关系。我意识到我需要第三张桌子来添加每餐的配料,但我遇到的问题是成本。

例如: 可以说你想做一顿三明治。你会添加面包(1美元),肉(1美元)和一些奶酪(2美元)。这将使这顿饭“三明治”4美元。

我遇到的问题是我的MEAL表有一个“成本”栏,我的膳食成分与膳食挂钩有一个“成本”栏,但MEAL必须先创建,然后选择成分,这意味着它不知道总成本,因为成分最后。

我该如何告诉mysql该餐的总成本是尚未投入的配料?

+2

你不能完全摆脱'meals.cost'列并动态计算它总结成分清单的成本? –

+0

虽然这不是很好,但是吗? – Strawberry

回答

0

取决于你输入数据的方式,但假设你有一个接口meals和一个接口meal-ingredients(大概是用PHP编写的,因为你是这样标记的)。

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