2016-06-13 70 views
0

我正在尝试添加计算列。Mysql中的计算列

alter table datatest add column amount2 double as (amount*rate) 

但在执行这个

+0

欢迎来到SO :-) 请看[如何问](http://stackoverflow.com/help/how-to-ask) – JimHawkins

回答

-1

MySQL不支持计算列我有错误。

您可以使用视图来代替:

create view v_datatest as 
    select t.*, (amount * rate) as amount2 
    from datatest; 

注:

  • 在那些支持计算列的数据库,类型是不是列定义的一部分。它来源于表达式(您可以使用cast()/convert()转换为特定类型)。
  • 使用浮点表示来存储货币金额是一个坏主意。您应该使用decimal/numeric
  • 如果您不想使用视图,则可以向表中添加一列(以及类型)并使用触发器来维护该值。