开发者社区> 问答> 正文

从另一列计算得出的列?

给出下表:

id | value

1 6 2 70 有没有一种方法可以添加基于同一表中另一列自动计算的列?就像一个VIEW,但是属于同一张表。例如,calculated将是的一半value。Calculated应该在value更改时自动更新,就像VIEW一样。

结果将是:

id | value | calculated

1 6 3 2 70 35

展开
收起
保持可爱mmm 2020-05-10 21:50:49 397 0
1 条回答
写回答
取消 提交回答
  • 对于5.7.6及更高版本的MySql版本,Generated Column是一种很好的方法。

    有两种生成的列:

    虚拟(默认)-从表中读取记录时,将即时计算列 已存储-在表中写入/更新新记录时将计算列 两种类型都可以具有NOT NULL限制,但是只有一个存储的Generated Column可以成为索引的一部分。

    对于当前情况,我们将使用存储的生成列。为了实现这一点,我考虑了表中列出了计算所需的两个值

    CREATE TABLE order_details (price DOUBLE, quantity INT, amount DOUBLE AS (price * quantity));

    INSERT INTO order_details (price, quantity) VALUES(100,1),(300,4),(60,8); 金额会自动在表格中弹出,您可以直接访问它,也请注意,每当您更新任何列时,金额也会被更新。来源:stack overflow

    2020-05-10 21:51:03
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
RowKey与索引设计:技巧与案例分析 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载