是否可以自动化MySQL中的日期字段



,所以我想自动初始化一个日期字段(无时间(,然后自动在2个单独的列中自动初始化一个时间字段(没有日期((我不希望它们在同一列中(...

这是可能的吗?

我以为这会起作用...但是

CREATE TABLE `account_ip_history` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `uid` int(10) unsigned NOT NULL,
  `ip_address` varchar(39) NOT NULL,
  `created_date` date NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `created_time` time NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8;

文档很清楚:

TIMESTAMPDATETIME列可以自动初始化,并且 更新到当前日期和时间(即当前时间戳(。

如果可以初始化DATE,则将包含在文档中。

所以,简单地做:

CREATE TABLE `account_ip_history` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `uid` int(10) unsigned NOT NULL,
  `ip_address` varchar(39) NOT NULL,
  `created_datetime` datetim NOT NULL DEFAULT CURRENT_TIMESTAMP
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8;

查询表格时可以提取datetime组件。

最新更新