自动更新数据库列

时间:2012-03-30 17:46:18

标签: mysql sql

Another answer shows how to set a default timestamp。但是,它仅更新您编辑的条目。我想知道是否还有另一种方式可以编辑,比方说,所有条目中的当前年份。

例如,我的数据库有2011年插入的2个条目,因此2个条目的当前日期列将是2011.我希望在插入新用户时将此列更新为2012,意味着现在将有3个条目,所有3个条目的当前年份列将是2012年。

这可能吗?

我的主要目标是计算年龄。

2 个答案:

答案 0 :(得分:2)

你真的不需要 - 也不应该 - 将当前年份存储在一个表的列中(可能还有几百万行) - 除非您正在编写一个Star Trek应用程序,其中一些角色生活在2012年,另一些角色生活在2012年(换句话说,如果“当前年份”对所有人来说都不一样)。

您可以随时在计算中使用它:

YEAR( CURRENT_DATE() )

答案 1 :(得分:0)

如果您将用户的生日存储为DATE列,则可以计算其年龄。这些计算范围从“良好的99%”到good for everyone including leap year babies