如何使日期和时间列创建一个MySQL表?
问题描述:
我正在尝试创建一个表,其中包含日期和时间列,用于在条目记录在数据库中时存储日期和时间信息。在MySQL文档中显示以下示例:如何使日期和时间列创建一个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);
答
为日期和时间分开列是毫无意义的。它没有多大意义
您可以创建表这样
CREATE TABLE timeDate (
id INT,
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
);
如果你想要日期部分使用此查询
SELECT DATE(`ts`) FROM timedate WHERE id =someId
如果你想在部分时间使用该查询
SELECT TIME(`ts`) FROM timedate WHERE id =someId
答
CREATE TABLE t1 (
ts TIME,
dt DATE
);
时间戳字段可以有默认CURRENT_TIMESTAMP。它包含日期和时间。 TIME和DATE字段将需要由您的应用程序设置。
有什么区别?将它们分割成两个字段与将它们保持在同一字段中相同。重要的是你有可用的数据。 – 2014-08-29 17:04:23
不,用最后的代码片段,你现在需要依靠你的应用程序来为你做。 – danronmoon 2014-08-29 17:04:25
@AlexandreSantos我是否需要时间戳和日期时间,好像他们做同样的事情。 – Urler 2014-08-29 17:05:41