牛骨文教育服务平台(让学习变的简单)
博文笔记

mysql更新记录时设置自动更新时间戳

创建时间:2015-09-04 投稿人: 浏览次数:33066
假设表有3个字段:id、name、update_time,希望在新增记录时能自动设置update_time字段为当前时间
设置DEFAULT CURRENT_TIMESTAMP即可

CREATE TABLE `test` (
`id` int NOT NULL,
`name` varchar(255),
`update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) COMMENT="";

如果使用Navicat建表就是在图红框中选择默认值为CURRENT_TIMESTAMP


如果希望在更新记录时还能自动更新update_time字段为当前时间
设置ON UPDATE CURRENT_TIMESTAMP

CREATE TABLE `test` (
`id` int NOT NULL,
`name` varchar(255),
`update_time` timestamp NOT NULL ON UPDATE CURRENT_TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) COMMENT="";

如果使用Navicat建表就是在图绿框中勾选上根据当前时间戳更新

这样设置之后,即使直接通过Navicat工具修改了name字段,那么update_time也会自动更新,除非手动设置了update_time字段



Sequel Pro见下图:


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。