我有一张 table daily
和一张 table food
。在 food
中,我将我吃的食物数据库存储到 food
中。在daily
中,我只存储当天吃的食物(必须从food
中选择,修改,存储在daily
),并在在一天结束时,daily
表被清除(所有行都被 DELETE FROM daily
删除)。
我想弄清楚的是如何从表 food
中复制一行并将其复制到表 daily
中,同时修改它的值。
food
和daily
都具有相同的结构。
食物(此表中的任何内容都不会改变)
name calories grams fat protein
---------------------------------------
apple 50 80 1.2 2
potato 90 45 3.4 5
carrot 10 70 6.2 6
daily(我吃了一个93g的苹果后的表格)
name calories grams fat protein
---------------------------------------
apple 58.125 93 1.395 2.325
示例
我称出一种只存在于我的食物数据库中的食物,如果不存在,我就必须将其添加进去。
然后我从下拉列表中选择一种食物并输入它的重量(以克为单位)。
我从列表中选择一个苹果
。我称了我的苹果
,它是93g
。
我的 93g
除以 80g
得到 1.1625
。 苹果
(脂肪和蛋白质)的所有统计数据都必须乘以1.1625
,然后插入到我的daily
表中。
如何从 food
中检索一行,用我的修饰符 (1.1625
) 修改其中的每个值,并将其插入到我的 daily
table ?
我刚刚意识到我可以将我选择的任何食物加载到一个数组中并修改每个单元格的值,然后将该数组泵入daily
。
最佳答案
在 PHP 中,您只需加载行、修改值并构建查询以将其插入到 daily
中。那里没什么特别的,所以我猜你问的是如何在 SQL 中做到这一点:
INSERT INTO daily (name,
calories,
grams,
fat,
protein)
SELECT name,
calories * 1.1625,
grams * 1.1625,
fat * 1.1625,
protein * 1.1625
FROM food
WHERE name = "apple"
关于php - 从一个mysql表复制一行到另一个表,并修改字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14150456/