mysql更新记录时设置自动更新时间戳
2015-09-04 15:54
615 查看
假设表有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见下图:
设置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见下图:
相关文章推荐
- 怎么重置mysql的自增列AUTO_INCREMENT初时值
- mysql嵌套关联查询
- mysql日志管理
- mysqladmin创建MySQL数据库
- mysql解压版安装步骤
- mysql默认事物隔离级别实践
- MySQL 实现树形的遍历(关于多级菜单栏以及多级上下部门的查询问题)
- mysql多表连接
- hibernate针对mysql5做出的优化
- MYSQL中delete删除多表数据与删除关联数据
- mysql使用source 命令乱码问题解决方法
- 解决MySQL链接不上问题
- MySQL 常用命令行
- MySQL 索引
- MySQL生成随机整数
- 远程连接MySQL, 10038问题
- mysql 数据库无法删除
- MySQL 学习笔记
- Mysql varchar型自增方法
- SQL-mysql设置utf8编码方法