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

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

Linda Hamilton
发布: 2025-01-17 07:46:12
原创
822 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板