是否可以在 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 中插入作为其他两列的数学函数的列?的主要内容,如果未能解决你的问题,请参考以下文章