0

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

    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 会将相同的特定数字添加到 Value 字段中。

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

4

1 回答 1

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);
于 2013-10-16T11:46:27.103 回答