zoukankan      html  css  js  c++  java
  • MySQL自动设置create_time和update_time

    转自:http://www.mamicode.com/info-detail-1807313.html


    DATETIME类型用在你需要同时包含日期和时间信息的值时。MySQL检索并且以'YYYY-MM-DD HH:MM:SS'格式显示DATETIME值,支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。(“支持”意味着尽管更早的值可能工作,但不能保证他们可以。)

    DATE类型用在你仅需要日期值时,没有时间部分。MySQL检索并且以'YYYY-MM-DD'格式显示DATE值,支持的范围是'1000-01-01'到'9999-12-31'。

    TIMESTAMP列类型提供一种类型,你可以使用它自动地用当前的日期和时间标记INSERT或UPDATE的操作。

    TIME数据类型表示一天中的时间。MySQL检索并且以"HH:MM:SS"格式显示TIME值。支持的范围是'00:00:00'到'23:59:59'。


    参考表结构

      CREATE TABLE `t_baby` (
    `baby_id` int(11) NOT NULL AUTO_INCREMENT,
    `user_id` int(11) NOT NULL,
    `nickname` varchar(64) DEFAULT NULL,
    `avatar` varchar(64) DEFAULT ‘‘,
    `sex` int(2) unsigned NOT NULL DEFAULT ‘0‘ COMMENT ‘0:未知;\n 1:男;\n 2:女。‘,
    `birthday` datetime NOT NULL,
    `creater` varchar(16) DEFAULT ‘‘,
    `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    `update_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
    `is_delete` bigint(20) DEFAULT NULL COMMENT ‘0‘,
    `updater` varchar(16) DEFAULT NULL,
    PRIMARY KEY (`baby_id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=10000000 DEFAULT CHARSET=utf8mb4;

    当我们创建业务表的时候 通常都需要设置create_time 和 update_time 但是通常需要在代码中设置好时间后再插入数据库

    CURRENT_TIMESTAMP  字段设置后 当insert数据时 mysql会自动设置当前系统时间 赋值给该属性字段

    ON UPDATE CURRENT_TIMESTAMP 字段设置后 当update数据时 并且 成功发生更改时 mysql会自动设置当前系统时间 赋值给该属性字段

    create_time 设置 CURRENT_TIMESTAMP属性

    update_time 设置 ON UPDATE CURRENT_TIMESTAMP属性

    我们在代码中 就无需再手动给这两个参数赋值 节省了一定代码量

    MySQL自动设置create_time和update_time



  • 相关阅读:
    C# 之 获取文件名及拓展名
    C# 之 日常积累(二)
    C# 之 OpenFileDialog的使用
    Linux系统中,main函数的执行过程
    linux线程的实现
    linux内核--进程与线程
    内核线程和进程的区别
    软中断和硬中断
    Linux 2.4.x内核软中断机制
    几种USB控制器类型:OHCI,UHCI,EHCI,xHCI
  • 原文地址:https://www.cnblogs.com/jpfss/p/12132139.html
Copyright © 2011-2022 走看看