计算列或存储过程还是只需要php函数?

时间:2010-05-16 19:56:05

标签: php mysql stored-procedures calculated-columns

我在MySQL数据库中有一个订单表,其中包含一个字段/列,用于存储订单下达时的日期时间戳。

我需要计算订单必须发货的时间。我可能想出如何编写一个函数来计算发货日期并在需要时调用它,但我认为,不确定将发货日期作为计算列可能更有意义。

话虽如此,我从未使用过存储过程或创建了计算字段。后来我认为最好但又不确定。我过去常常在FMP中制作计算字段,但我已经离开了那个程序。

1 个答案:

答案 0 :(得分:1)

我会以view来做。这基本上是一个select语句,其中一个结果列是发货日期。您也可以添加其他相关列。然后,任何有权访问数据库的应用程序都可以像访问普通表一样访问视图。

如果您的表格如下:

create table orders(id INTEGER PRIMARY KEY AUTO_INCREMENT,
                    order_date DATETIME);                                                                      

并且您总是在3天后发货,您可以使用:

create view order_view as 
  select id, 
         order_date, 
         order_date + INTERVAL 3 DAY as ship_date 
  from orders;

select语句可以根据需要复杂化。然后,您只需在任何应用程序中阅读order_view,就好像它是普通的表格一样。