2012-03-30 91 views
0

Another answer shows how to set a default timestamp。但是,它只会更新您编辑的条目。我想知道是否有另一种编辑方式,比方说,所有条目中的当年。自动更新数据库列

例如,我的数据库中有插入在2011年有2项,因此对于2项当前日期栏将是2011年。我想使此列更新到2012年时,一个新的用户插入,这意味着现在将有3个条目,并且所有3个条目的当前年份列将是2012年。

这可能吗?

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

+0

如果你总是希望所有条目的显示当年,为什么你需要将它们存储在数据库中吗?你可以让你的程序从系统时间获得当前年份,并使用它? – 2012-03-30 17:54:49

+0

**什么**数据库系统,以及哪个版本** SQL **只是结构化查询语言 - 许多数据库系统使用的语言 - SQL是* *不**数据库产品......这样的东西往往是供应商特定的 - 所以我们真的需要知道你使用的是什么数据库系统...... – 2012-03-30 17:58:00

+0

@marc_s嗨...我正在使用xxamp phpmyadmin。不知道这是我应该给的...... – Hubert 2012-03-30 19:23:17

回答

2

你真的不需要 - 并且不应该 - 存储当前的一年一个表的列(也可能是几百万行) - 除非你正在写在那里的一些人物生活在2012年和其他星际迷航应用42012(换句话说,如果“当前年份”并非全部相同)。如果您存储用户的出生日期为DATE列,那么你可以计算自己的年龄

YEAR(CURRENT_DATE()) 
0

你可以在你的计算总是用这个。这些计算范围从当时的“好99%”,到good for everyone including leap year babies

+0

嗨...感谢您的帮助...我想知道,因为如果您设置日期为格式...这个数字必须是yyyy-mm-dd ......有无论如何,我可以让它像dd/mm/YYYY? – Hubert 2012-03-30 17:58:42

+0

Date,Datetime和timestamp都在内部存储为整数,并且您可以使用mysql函数在您的SELECT中使用DATE_FORMAT(日期,'格式字符串')虚拟地设置它们的格式 – gview 2012-03-30 18:05:42

+0

if $'adddob = $ _POST ['dob'];'我如何应用日期格式?对不起,我在这方面不是很好...提前致谢 – Hubert 2012-03-30 19:21:50