我有一张桌子,看起来像这样

    IDLevel(int)<PK> | StepLevel(int)<PK> | Value(decimal)
    ------------------------------------------------------
    1                      1                 a+(0*100)
    1                      2                 a+(1*100)
    1                      3                 a+(2*100)
    1                      4                 a+(3*100)
    1                      5                 a+(4*100)
    1                      6                 a+(5*100)
    1                      7                 a+(6*100)
    1                      8                 a+(7*100)
    1                      9                 a+(8*100)
    2                      1               ((a+(4*100)+a+(5*100))/2)+(0*150)
    2                      2               ((a+(4*100)+a+(5*100))/2)+(1*150)
    2                      3               ((a+(4*100)+a+(5*100))/2)+(2*150)
    2                      4               ((a+(4*100)+a+(5*100))/2)+(3*150)
    2                      5               ((a+(4*100)+a+(5*100))/2)+(4*150)
    etc


我如何使其能够基于StepLevel和IDLevel字段的第一个值自动更新字段值。

已编辑

增加StepLevel会将相同的特定数字添加到“值”字段中。

增加IDLevel将基于先前IDLevel的StepLevel值添加一些算术运算(如示例所示,对于IDLevel 2,StepLevel 1将具有基于IDLevel 1的值(StepLevel4值+ StepLevel 5值)/ 2

最佳答案

您应该使用DEFAULT语法在IDLevel和Step Level之间使用表达式来实现
喜欢新桌子

mysql> CREATE TABLE newtb (IDLevel INT DEFAULT 1, StepLevel INT NOT NULL AUTO_INCREMENT PRIMARY KEY, VALUE DECIMAL DEFAULT expression);

10-08 09:38