[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:00tinyint(3) unsigned NOT NULL DEFAULT 1' COMMENT 当前状态(1 通过,2 拒绝,3 超时拒绝,4 超时通过)leader` varchar(审核人审核日志表'

 

 

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数据库发布系统存储的方法有:1.mysql库主从读写分...
使用mysql的方法:在“我的电脑”→右键→“管理”→“服务”...
在mysql中查看root用户权限的方法:1.命令行启动mysql服务;...
MySQL主从复制是用来备份一个与主数据库一样环境的从数据库,...
运行mysql的方法1.启动mysql服务,在“我的电脑”→右键→“...
开启mysql的方法1.可以通过快捷键win+r,输入cmd,打开窗口,...