[MySQL] mysql 5.5和 5.6 timestamp default 默认值CURRENT_TIMESTAMP问题

前端之家收集整理的这篇文章主要介绍了[MySQL] mysql 5.5和 5.6 timestamp default 默认值CURRENT_TIMESTAMP问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

TIMESTAMP在MysqL5.5中的行为:

1.第一个未设置默认值的TIMESTAMP NOT NULL字段隐式默认值:CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

2.后面未设置默认值的TIMESTAMP NOT NULL字段隐式默认值:0000-00-00 00:00:00

3.不支持多个CURRENT_TIMESTAMP 默认值

5.5的建表语句类似这样:

CREATE TABLE `audit_log` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,`ent_id` 10) unsigned NOT NULL DEFAULT '0',`rule_id` 2048) NOT NULL DEFAULT '' COMMENT 规则详情512) NOT NULL DEFAULT 发件人被审核邮箱收件人邮箱主题0000-00-00 00:00:003) unsigned NOT NULL DEFAULT 1' COMMENT 当前状态(1 通过,2 拒绝,3 超时拒绝,4 超时通过)审核人审核日志表'

 

 

TIMESTAMP在MysqL5.6中的行为:

支持多个CURRENT_TIMESTAMP 默认值,但是不支持设置默认值为0000-00-00 00:00:00

5.6的可以这样:

  `createtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,`start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,`end_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,

 

猜你在找的MySQL相关文章