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

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

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

【问题讨论】:

    标签: mysql jdbc apache-commons-dbutils


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      在基表上创建一个视图:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-01-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多