我有一张桌子和一张桌子。在daily中,我把我吃的食物的数据库存储到food中。在food中,我只存储当天吃的食物(必须从food中选择、修改并存储在daily中),并且在一天结束时,清除food表(所有行都用daily删除)。
我想弄清楚的是如何从tabledaily中复制一行,并在修改其值时将其复制到tableDELETE FROM daily
fooddaily都有相同的结构。
食物(这张桌子里什么都没变)

name    calories   grams  fat   protein
---------------------------------------
apple   50         80     1.2   2
potato  90         45     3.4   5
carrot  10         70     6.2   6

每日(示例中我吃了一个93g的苹果后的桌子)
name    calories   grams  fat   protein
---------------------------------------
apple   58.125     93     1.395 2.325

例子
我称一种只存在于我的食物数据库中的食物,如果没有,我就必须加进去。
然后我从下拉列表中选择一种食物,并输入它的重量(克)。
我从列表中选择一个food。我称了一下我的daily,它是apple
Myapple除以93g,得到93g。必须将80g(脂肪和蛋白质)的所有统计数据乘以1.1625,然后插入到我的apple表中。
如何从1.1625检索行,通过修饰符(daily)修改其中的每个值,并将其插入到food表中?
我刚刚意识到我可以将选择的食物加载到一个数组中并修改每个单元格的值,然后将该数组泵入1.1625

最佳答案

在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"

09-13 13:12