我有一张桌子,看起来像这样
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);