本文主要是介绍mysql设置更新sh时间字段时应设置为TIMESTAMP,以实现自动更新时间,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
TIMESTAMP和DATETIME的相同点:
两者都可用来表示YYYY-MM-DD HH:MM:SS[.fraction]类型的日期。
TIMESTAMP和DATETIME的不同点:
两者的存储方式不一样对于TIMESTAMP,它把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储。查询时,将其又转化为客户端当前时区进行返回。而对于DATETIME,不做任何改变,基本上是原样输入和输出。
记录这个的原因时,我平常喜欢用datetime,但是datetime不能设置当表里的行更新时,自动更新时间,而TIMESTAMP可以。
比如:
1、可以设置为自动更新
CREATE TABLE `test` (`id` int(11) NOT NULL,`name` varchar(255) DEFAULT NULL,`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2、不可以设置为自动更新:
CREATE TABLE `test` (`id` int(11) NOT NULL,`name` varchar(255) DEFAULT NULL,`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
这篇关于mysql设置更新sh时间字段时应设置为TIMESTAMP,以实现自动更新时间的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!