mysql创建时间字段添加默认值方式
作者:zhangshengqiang168
这篇文章主要介绍了mysql创建时间字段添加默认值方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
mysql创建时间字段添加默认值
在创建时间字段的时候
例如:
create_time
默认值可以设置为CURRENT_TIMESTAMP 插入数据时候会自动添加时间,默认值为当前时间update_time
默认值可以设置为CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 表示每次更新这条数据的时候,该字段都会更新成当前时间
设置默认值错误,可以用下面sql修改字段默认值
ALTER TABLE `sms_message_system` MODIFY COLUMN `update_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间' ;
这两个操作是mysql数据库本身在维护,所以可以根据这个特性来生成【创建时间】和【更新时间】两个字段,且不需要代码来维护.
CREATE TABLE `sms_message_system` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', `message_title` varchar(255) DEFAULT '' COMMENT '标题', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `release_staff` varchar(255) DEFAULT NULL COMMENT '发布人员', `details` varchar(255) DEFAULT NULL COMMENT '消息详情', `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8
mysql对表的创建,creat_time字段设置默认值,update_time字段更新操作设置为当前时间
目前在设计表的时候,一般会对表添加两个公共字段,create_time,upate_time。
create_time
在新增数据的时候需要有当前时间upate_time
在新增数据的时候使用当前时间,在这行数据被跟新的时候设置成更新的当前时间。
上面的处理逻辑,可以在程序中写代码处理,也可以在数据库层处理。
create_time,update_time数据库建表语句的设置
以下是数据库层处理的方案
CREATE TABLE `xxx` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增主键', `table_id` int(11) DEFAULT NULL COMMENT '表id', `column_name` varchar(64) DEFAULT NULL COMMENT '列名字', `data_type` varchar(32) DEFAULT NULL COMMENT '列类型', `data_length` int(11) DEFAULT NULL COMMENT '列长度', `column_comment` varchar(255) DEFAULT NULL COMMENT '列备注', `column_order` int(11) DEFAULT NULL COMMENT '列排序', `custom_comment` varchar(255) DEFAULT NULL COMMENT '自定义备注', `del_flag` int(11) DEFAULT NULL COMMENT '是否删除:0未删除,1删除', `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8
对create_time字段和update_time字段的语法逻辑解说
主要看create_time字段和update_time字段。
DEFAULT CURRENT_TIMESTAMP
表示insert的时候设置默认值ON UPDATE CURRENT_TIMESTAMP
表示一条数据更新的时候,本条数据的该字段设置为当前时间
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。