mysql 数据类型TIMESTAMP
在mysql中timestamp数据类型是一个比较特殊的数据类型,他可以自动在你不使用程序更新情况下只要你更新了记录timestamp会自动更新时间
通常表中会有一个Create date 创建日期的字段,其它数据库均有默认值的选项。MySQL也有默认值timestamp,但在MySQL中,不仅是插入就算是修改也会更新timestamp的值!
这样一来,就不是创建日期了,当作更新日期来使用比较好!
因此在MySQL中要记录创建日期还得使用datetime 然后使用NOW() 函数完成!
1: 如果定义时DEFAULT CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP子句都有,列值为默认使用当前的时间戳,并且自动更新。
2: 如果不使用DEFAULT或ON UPDATE子句,那么它等同于DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP。
3: 如果只有DEFAULT CURRENT_TIMESTAMP子句,而没有ON UPDATE子句,列值默认为当前时间戳但不自动更新。
4: 如果没用DEFAULT子句,但有ON UPDATE CURRENT_TIMESTAMP子句,列默认为0并自动更新。
5: 如果有一个常量值DEFAULT,该列会有一个默认值,而且不会自动初始化为当前时间戳。如果该列还有一个ON UPDATE CURRENT_TIMESTAMP子句,这个时间戳会自动更新,否则该列有一个默认的常量但不会自动更新。
换句话说,你可以使用当前的时间戳去初始化值和自动更新,或者是其中之一,也可以都不是。(比如,你在定义的时候可以指定自动更新,但并不初始化。)
相关文章
详谈innodb的锁(record,gap,Next-Key lock)
下面小编就为大家带来一篇详谈innodb的锁(record,gap,Next-Key lock)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-03-03windows 10 下安装mysql 5.7.17的简单笔记
之前一直在Linux下用MySQL,安装也很简单,今天试一下windows下安装,发现有很多坑,今天小编通过本教程给大家记录下,一起看看吧2016-12-12NaviCat连接时提示"不支持远程连接的MySql数据库"解决方法
前段时间,因为一项目,需要做MYSql的数据同步服务,但由于网站空间服务供应商不提供远程连接MYSql,所以无法利用NaviCat客户端通过填写服务器地址来连接远程服务器,在网上找到了SSH方式连接,但经过测试后发现依旧无法连接。2011-08-08
最新评论