您的位置:首页 > 其它

modifytime是一个神奇的column name----这边文章是错的totally,因为我的实验不彻底。timestamp属性很神奇,头一个timestamp,会自动的成DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

2014-08-21 16:49 731 查看
在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作为列名,的确需要注意。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐