在mysql里边modifytime是一个神奇的column name,试一下。

请执行sql语句 

CREATE TABLE `test_time` (
  `modifytime` timestamp NOT NULL  ,
  `lastlivetime` timestamp NOT NULL
) 

然后查看你刚才创建的表test_time的数据库执行语句。

 show create table test_time;

在查询出来的Create Table列里边你会看到mysql是如何创建表test_time的。

CREATE TABLE `test_time` (
  `modifytime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `lastlivetime` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
) ENGINE=InnoDB DEFAULT CHARSET=latin1

在我自己的sql语句里边modifytimelastlivetime类型是行为完全一致的。mysql自己对modifytime进行了一些规范,将记录任何改动都提现在了当前记录的modifytime上了。。

请注意:如果对modifytime的时间戳,你想自己去控制的话,就需要改变mysql自己创建modifytime的语句了。使用`modifytime` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' 这样的创建语句。使modifytime和lastlivetime的行为相同,你可以自己控制modifytime了。

modifytime作为列名,的确需要注意。

posted on 2014-08-21 16:49  tom_zhao_vip  阅读(1102)  评论(0编辑  收藏  举报