使用php mysqli或pdo更新数据库中的age列

时间:2017-11-09 08:30:14

标签: php mysql

如何根据DOB自动更新年龄?我打算编写一个脚本来获取DOB列然后计算年龄并更新它。我开始了我的想法,但它仍然不符合我的目标。

PLS。救命!在此先感谢:)

enter image description here

1 个答案:

答案 0 :(得分:1)

当您已经出生日期时添加年龄栏,这是徒劳的。此外,这意味着您需要每年为每条记录及其出生日期更新一次值。这将开始变得越来越重。很多评论建议用PHP来计算年龄,如果你想按年龄对人进行分组,这也会很重要,你必须抓住数据库的每个记录并计算他们的年龄。我的建议是使用MySQL来计算它,所以你可以在连接中使用它,where子句,group bys等......

SELECT YEAR(NOW()) - YEAR(birthdate) - (DATE_FORMAT(NOW(), '%m%d') < DATE_FORMAT(birthdate, '%m%d')) as age FROM table

有关详细信息,请参阅How to get the difference in years from two different dates?,其中包含闰年。

您可以轻松创建一个MySQL函数,将其称为calc_age或其他内容并将其传递给生日,这将返回当前年龄并且非常易于使用...