插入新的MySQL行时自动更新MySQL行

插入新的MySQL行时自动更新MySQL行,mysql,database,Mysql,Database,我有一张像这样的桌子: ID, Time, Value 0, 1534270260, 10 我想在给定的时间内更新每个新条目的值。例如,如果我插入一个新行,它将是这样的 ID, Time, Value 0, 1534270260, 5 1, 1534270260, 5 如果插入两个新行,将如下所示: ID, Time, Value 0, 1534270260, 3.33 1, 1534270260, 3.33 2, 1534270260, 3.33 我希望它能自动做到这一点。例如,在此时间

我有一张像这样的桌子:

ID, Time, Value
0, 1534270260, 10
我想在给定的
时间
内更新每个新条目的
。例如,如果我插入一个新行,它将是这样的

ID, Time, Value
0, 1534270260, 5
1, 1534270260, 5
如果插入两个新行,将如下所示:

ID, Time, Value
0, 1534270260, 3.33
1, 1534270260, 3.33
2, 1534270260, 3.33
我希望它能自动做到这一点。例如,在此时间之前每5分钟进行一次计算并更新行


关于如何在MySQL上实现这一点,有什么帮助吗?

为什么不添加一个递增的计数列,然后让视图进行除法?使用当前的方法,您将有舍入错误…您的意思是,像计算所有具有相同时间的行一样,计算并更新值?问题是,我希望它能自动这样做,例如,在此之前每隔5分钟,计算并更新表。如果值为10,任何使用或显示值的人都必须正确地将其除以。而不是插入,而是增加计数。如果数据不存在,请使用count为1的insert,并且值应始终为所有值之和。insert上的触发器可以解决此问题。您的数据未规范化(您多次重复时间1534270260的值为3.33的信息)。这样做的一个效果是,保持数据的一致性要困难得多(从示例中可以看出)。我会重新考虑你的数据模型。根据您的数据所表示的内容,实际上有几种备选方案(例如:基值是否始终为“10”,您是否需要ID,或者只是计算您发现特定时间的频率是否相等……)。