我正在尝试创建一个表,该表具有日期和时间列,用于在数据库中记录条目时存储日期和时间信息。在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);
答案 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字段需要由您的应用程序设置。