What is the best data type for DATE and TIME

时间:2015-04-23 05:47:47

标签: mysql datetime

I have an application that saves the date and time of a transaction. My initial database design is to create separate fields for DATE as date and TIME as varchar. My second option is to have a single field with DATETIME.

What is the difference of these two??

3 个答案:

答案 0 :(得分:3)

我建议使用TIMESTAMP,因为这可以帮助您跟踪对数据库所做的每个更改。如果要在列中存储日期和时间的特定值,请使用DateTime数据类型。但是如果你想跟踪你的值所做的更改,那么我建议你使用TIMESTAMP。来自MYSQL Docs

  

当您需要包含日期和时间信息的值时,将使用DATETIME类型。 MySQL以'YYYY-MM-DD HH:MM:SS'格式检索并显示DATETIME值。支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。

     

...

     

TIMESTAMP数据类型的范围为'1970-01-01 00:00:01'UTC到'2038-01-09 03:14:07'UTC。它具有不同的属性,具体取决于MySQL版本和运行服务器的SQL模式。

答案 1 :(得分:1)

使用时间戳。我建议不要分别存储日期和时间。原因是当你想在where子句中使用它们时,你会发现自己将它们一起添加。

答案 2 :(得分:0)

datetime将给出交易的日期和时间 12-10-2012 12:00:00 因此,我们可以使用一个即datetime

,而不是使用两个单独的字段