MySQL timestamp的默认值怎么MySQL设置默认值

mysql 5.7 以上版本增加了2条严格的时间格式的限制(NO_ZERO_IN_DATE,NO_ZERO_DATE),默认严格要求时间格式不能是‘ 00:00:00’;所以创建时间格式的not null字段如果没默认指明时间格式则会报错。

  1. 修改sql_mode模式配置取消2条时间的强制限制;
}
 

重启MySQL后错误消失这时TIMESTAMP的行为如丅:

TIMESTAMP如果没有显示声明NOT NULL,是允许NULL值的可以直接MySQL设置默认值改列为NULL,而没有默认填充行为

声明为NOT NULL且没有默认子句的TIMESTAMP列是没有默认值的。往数据表中插入列又没有给TIMESTAMP列赋值时,如果是严格SQL模式会抛出一个错误,如果严格SQL模式没有启用该列会赋值为' 00:00:00′,同时出现一个警告(这和MySQL处理其他时间类型数据一样,如DATETIME)

以上内容和存储引擎选择无关

前段时间,系统MySQL从5.5升级到了5.6系统出现了大量的异常。大部汾异常引起原因是由于TIMESTAMP的行为发生了变化

}

临下班前测试测出所有的返回報文中有一个版本号的值没有上送,最后定位是由于数据库配置表里版本号是空

这应该属于前辈们留下的bug了....

后来用navcat工具修改字段默认值,然后点SQL预览

}

我要回帖

更多关于 MySQL设置默认值 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信