所以我想自动初始化一个日期字段(没有时间),然后在两个单独的列中自动初始化一个时间字段(没有日期)(我不希望它们在同一列中)。 ..
这可能吗?
我认为这样可行......但它没有。
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;
答案 0 :(得分:1)
documentation非常明确:
TIMESTAMP
和DATETIME
列可以自动初始化 更新到当前日期和时间(即当前时间戳)。
如果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;
您可以在查询表时提取date
和time
组件。