库表中用到了时间的字段,首先百度中查了关于timestamp的一些说明,发现说法不太统一。验证过程得出如下:
- 实验环境及版本:MYSQL 5.6 LINUX系统。
-
验证过程
- 默认情况下,在一个表中,第一个出现的timestamp字段,在不设置任何默认值的情况下,建表脚本为:
CREATETIME timestamp,
但你建完后再查看表的DDL时,发现已成了这样:
CREATETIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
说明:这个并不奇怪,是因为数据库会对一张表中第一个出现的字段,自动增加默认值。要注意的是,转后的结果是,这个自段就成了自动更新的字段,即(插入记录,更新记录)的时候,数据库会自动记录时间到这个字段。
2. 当表中出现第二个timestamp字段时,且也不设置任何默认值的情况下,建表脚本同样为:
CREATETIME timestamp,
但你建完后再查看表的DDL时,发现已成了这样:
timestamp NOT NULL DEFAULT '0000-00-00