mysql alter table,其值基于其他字段

时间:2012-11-19 01:01:19

标签: mysql database-design alter

我的桌子中有dateOfbirth字段,我需要添加新的字段年龄,它基于dateOfBirth字段w / c我需要计算他们的年龄吗?
是否可以更改表格并将字段的值设置在其他字段上?

2 个答案:

答案 0 :(得分:0)

您可以使用ALTER表添加新列。然后使用UPDATE根据dateOfBirth字段更新该列。

答案 1 :(得分:0)

你想要的是一个COMPUTED列,当dateOfBirth更新时它将自动更新。很遗憾,MySQL does not support computed columns,所以您的选择是:

  • 如上所述创建视图
  • 创建正常年龄列并通过向原始表添加触发器来维护其值,该触发器会在dateOfBirth列中的值更改时不断重新计算age列中的值
  • 通过向查询添加其他列来查询数据时计算年龄
  • (最好的情况是因为它减少了数据库的负担)计算应用程序的年龄