首页 >数据库 >mysql教程 >MySQL 可以根据表的列自动计算另一个列吗?

MySQL 可以根据表的列自动计算另一个列吗?

Linda Hamilton
Linda Hamilton原创
2025-01-17 07:46:12826浏览

Can MySQL Automatically Calculate a Table Column Based on Another?

基于其他列计算列

问题:

数据库表能否根据另一列自动计算一列,类似于视图,但集成到表本身?

答案:

在 MySQL 5.7.6 及更高版本中,生成的列提供了此功能。

生成的列类型:

  • 虚拟 (默认): 读取记录时按需计算。
  • 存储: 写入或更新新记录时计算。

实现计算列:

在提供的示例中,我们希望创建一个名为“calculated”的计算列,其值为“value”列的一半。使用存储的生成列,我们可以按如下方式实现:

<code class="language-sql">CREATE TABLE order_details (
    id INT PRIMARY KEY,
    value INT,
    calculated AS (value / 2) STORED
);

INSERT INTO order_details (id, value) VALUES
    (1, 6),
    (2, 70);</code>

计算列将自动填充所需的值 (3 for > ... 此处原文缺失,应补充完整)。

以上是MySQL 可以根据表的列自动计算另一个列吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn