MySQL 中基于另一列自动计算列
在数据库编程领域,表是数据存储的基石,但有时需要从现有列中导出附加信息。这就是计算列发挥作用的地方,它提供了一种创建新列的方法,这些新列的值会根据另一列自动更新。
数据库设置
考虑以下表格:
<code>id | value -------------- 1 6 2 70</code>
问题陈述
任务是添加一个名为“calculated”的列,该列是“value”列的一半。当“value”列更改时,此计算列应自动更新。
解决方案:生成列
MySQL 5.7.6 及更高版本引入了名为“生成列”的功能。这些列允许根据现有列进行动态计算,类似于视图,但作为表的一个组成部分。
生成列有两种类型:
实现
在本例中,我们将使用存储的生成列。以下是添加它的 SQL 语句:
<code>ALTER TABLE table_name ADD COLUMN calculated AS (value / 2) STORED;</code>
这将创建一个名为“calculated”的新列,其值为每一行的“value”列的一半。
优点和注意事项
生成列具有以下优点:
示例
添加计算列后,表将如下所示:
<code>id | value | calculated ----------------------- 1 6 3 2 70 35</code>
结论
生成列提供了一种向表添加计算列的强大方法。通过利用“stored”选项,它确保计算列自动更新并可以建立索引,从而在数据管理中提供更高的灵活性和效率。
以上是MySQL中如何根据另一列自动计算一列?的详细内容。更多信息请关注PHP中文网其他相关文章!