zoukankan      html  css  js  c++  java
  • MySQL创建表时设置字段时间默认值

    应用场景

    1. 在数据表中,要记录的每条数据是什么时候创建的,不需要应用程序去特意记录,而是由数据库获取当前时间自动记录创建时间。

    2. 在数据库中,要记录每条数据是什么时候修改的,不需要应用程序去特意记录,而由数据库获取当前时间自动记录修改时间。

    在数据库中获取当前时间

    1. oracle:select sysdate from dual;

    2. sqlserver:select getdate();

    3. mysql:select sysdate();
      select now();

    MySQL中时间函数NOW()和SYSDATE()的区别

    NOW()取的是语句开始执行的时间,SYSDATE()取的是动态的实时时间。

    因为NOW()取自mysql的一个变量”TIMESTAMP”,而这个变量在语句开始执行的时候就设定好了,因此在整个语句执行过程中都不会变化。

    执行下面这个例子就明白了:

    SELECT NOW(),SYSDATE(),SLEEP(3),NOW(),SYSDATE()

    先查询了NOW()和SYSDATE(),然后sleep了3秒,再查询NOW()和SYSDATE(),结果如下:

    实现方式

    1. 将字段类型设为 TIMESTAMP。

    2. 将默认值设为 CURRENT_TIMESTAMP。

    举例应用

    创建一个表time,主键为id,其中一个字段为date,默认系统当前时间:

    CREATE TABLE time(
    id INT PRIMARY KEY,
    date TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );
    

    插入一条数据:

    INSERT INTO time(id) VALUES(1);
    

    查询结果:

  • 相关阅读:
    web.xml配置文件
    数组去重问题
    Mysql优化
    点赞功能
    IDEA的一些使用小技巧
    Maven
    AJAX
    HTTP响应头拆分/CRLF注入详解
    对寄存器ESP和EBP的一些理解
    汇编调用指令的执行过程
  • 原文地址:https://www.cnblogs.com/zbh355376/p/14401906.html
Copyright © 2011-2022 走看看