将日期保存到mysql数据库的最佳方式


Best way to save date into mysql database

我想将日期保存到数据库中,然后,当我从数据库中获取结果时,我想按日期排序并按日期分类:例如,显示不到一天的结果等等…保存日期的最佳方式是什么?

如果您引用的是MySQL列数据类型,请使用DATE,除非您当然也希望包含时间,在这种情况下,它是DATETIME。一个常见的体系结构总是TIMESTAMP,但不同的体系结构可能会产生不想要的结果。

总结:DATE

关于日期和时间格式:http://dev.mysql.com/doc/refman/5.0/en/datetime.html

至于订购,它将与正常情况相同:ORDER BY my_date_column

不到1天:WHERE my_date_column = DATE(NOW()) - INTERVAL 1 DAY

使用timestamp作为存储日期的列的数据类型。如果要存储当前时间,请使用函数now()来存储日期。

或者使用PHP:中的strtotime()函数

$timestamp = strtotime('22-09-2008');

在表中创建一个名为"LastSaved"的字段,其数据类型为TIMESTAMP。然后,您可以在保存或插入数据时在查询中使用NOW()作为值更新此字段。

或者,如果您使用触发器,请在插入之前和更新之前事件中创建一个基本触发器

SET NEW.LastSaved= NOW();

要订购结果,您可以执行类似的操作

SELECT FieldName FROM YourTableName
ORDER BY LastSaved DESC

Datetime是一个很好的解决方案,但如果您关心夏令时,请使用时间戳。