如何制作一个包含日期和时间列的mysql表?

时间:2014-08-29 17:02:04

标签: mysql datetime

我正在尝试创建一个表,该表具有日期和时间列,用于在数据库中记录条目时存储日期和时间信息。在MySQL文档中显示了以下示例:

CREATE TABLE t1 (
  ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  dt DATETIME DEFAULT CURRENT_TIMESTAMP
);

问题是我想要日期和时间的单独字段。在另一个网站上,我发现这段代码符合我对日期的需求:

CREATE TABLE test (id INT, date_added DATE);

但我当时找不到那样的东西。 下面的代码段是否会在记录条目时生成单独的日期和时间字段?

CREATE TABLE test (id INT, date_added DATE, time_added TIME);

2 个答案:

答案 0 :(得分:5)

为日期和时间分别列是没有意义的。这没什么意义

您可以像这样创建表格

CREATE TABLE timeDate (
   id INT,
  ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
);

如果您希望日期部分使用此查询

SELECT DATE(`ts`) FROM timedate WHERE id =someId

如果您希望Time部分使用此查询

SELECT TIME(`ts`) FROM timedate WHERE id =someId

答案 1 :(得分:0)

CREATE TABLE t1 (
  ts TIME,
  dt DATE
);

只有时间戳字段可以具有DEFAULT CURRENT_TIMESTAMP。它包含日期和时间。 TIME和DATE字段需要由您的应用程序设置。