鉴于下表:
id|值
--------------
1 6
2 70
是否有方法添加基于同一表中的另一列自动计算的列?类似于视图,但属于同一个表的一部分。例如,计算值
将是值
的一半计算值应在值更改时自动更新,就像视图一样
结果将是:
id |值|已计算
-----------------------
1 6 3
2 70 35
对于5.7.6及以上版本的MySql,生成列是一种很好的方法
生成的列有两种:
- 虚拟(默认)-当
记录是从表中读取的 - 存储-当
在表中写入/更新新记录
这两种类型都不能有NULL限制,但只有存储的生成列可以是索引的一部分
对于当前情况,我们将使用存储的生成列。为了实施,我认为计算所需的两个值都在表中
创建表订单详细信息(价格加倍、数量整数、金额加倍为(价格*数量));
在订单中插入详细信息(价格、数量)值(100,1)、(300,4)、(60,8);
金额将自动弹出在表中,您可以直接访问它,还请注意,无论何时更新任何列,金额也将得到更新