是否可以在 mySql 中插入作为其他两列的数学函数的列?

Posted

技术标签:

【中文标题】是否可以在 mySql 中插入作为其他两列的数学函数的列?【英文标题】:Is it possible in mySql to insert a column that is a mathematical function of two other columns? 【发布时间】:2013-07-05 09:58:45 【问题描述】:

具体来说,我想插入第三列 (c3),它等于 c1 除以 c2,四舍五入到最接近的整数。我查看了 mysql 食谱并浏览了 O' Reilly 的介绍,但我还没有看到任何表明这是可能的。

使用 JDBC、Apache 的 DBUtils 或简单的 mysql 脚本对我来说都是可行的。

【问题讨论】:

【参考方案1】:

如果您正在寻找一次性练习,您只需通过 ALTER TABLE 添加新列,然后使用计算公式运行 UPDATE 查询即可。 p>

如果您正在寻找新列应该具有计算值的解决方案,您可以在插入和更新操作中创建 TRIGGER

【讨论】:

【参考方案2】:

在基表上创建一个视图:

create view myview as
select c1, c2, round(c1 / c2) as c3
from mytable

您可以将myview 视为常规表,但不允许在计算列中更新或插入值。

【讨论】:

以上是关于是否可以在 mySql 中插入作为其他两列的数学函数的列?的主要内容,如果未能解决你的问题,请参考以下文章

我应该如何用其他两列的平均值更新 MySQL 表列?

excel下拉菜单的数据源如何选择两列数据

MySQL在不使用表列的情况下选择两列之间的范围日期

sql server 中有一张表,我想把表中两列的数据合并后插入本表中另一列!请问怎么实现

MYSQL,分别用一条语句交换两列的值与两行的值

将数据从一列插入另一个表的两列的过程