我有一张看起来像这样的桌子
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字段的第一个值自动更新字段值。
EDITED
增加StepLevel会在Value字段中添加相同的特定数字。
增加IDLevel将根据前一个IDLevel的StepLevel值添加一些算术运算(如示例所示,对于IDLevel 2,StepLevel 1将具有基于IDLevel 1的值(StepLevel4 Value + StepLevel 5 Value)/ 2
答案 0 :(得分:0)
您应该使用DEFAULT语法在IDLevel和Step Level之间使用表达式来执行此操作 喜欢新表
mysql> CREATE TABLE newtb (IDLevel INT DEFAULT 1, StepLevel INT NOT NULL AUTO_INCREMENT PRIMARY KEY, VALUE DECIMAL DEFAULT expression);