在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语句里边modifytime和lastlivetime类型是行为完全一致的。mysql自己对modifytime进行了一些规范,将记录任何改动都提现在了当前记录的modifytime上了。。
请注意:如果对modifytime的时间戳,你想自己去控制的话,就需要改变mysql自己创建modifytime的语句了。使用`modifytime` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' 这样的创建语句。使modifytime和lastlivetime的行为相同,你可以自己控制modifytime了。
modifytime作为列名,的确需要注意。