从另一列计算的列?

鉴于下表:

id|值
--------------
1     6
2     70

是否有方法添加基于同一表中的另一列自动计算的列?类似于视图,但属于同一个表的一部分。例如,计算值将是的一半计算值应在值更改时自动更新,就像视图一样

结果将是:

id |值|已计算
-----------------------
1     6       3
2     70      35

对于5.7.6及以上版本的MySql,生成列是一种很好的方法

生成的列有两种:

  • 虚拟(默认)-当
    记录是从表中读取的
  • 存储-当
    在表中写入/更新新记录

这两种类型都不能有NULL限制,但只有存储的生成列可以是索引的一部分

对于当前情况,我们将使用存储的生成列。为了实施,我认为计算所需的两个值都在表中

创建表订单详细信息(价格加倍、数量整数、金额加倍为(价格*数量));
在订单中插入详细信息(价格、数量)值(100,1)、(300,4)、(60,8);

金额将自动弹出在表中,您可以直接访问它,还请注意,无论何时更新任何列,金额也将得到更新

发表评论