当前位置:   article > 正文

Navicat 设置时间默认值(当前最新时间)_navicat premium设置默认值

navicat premium设置默认值

前言

文章较短,但是体会很深!!!!

1. 原理分析

需求任务:填写数据的时候,如果时间不写,数据会默认用最新时间补充

一开始设置Navicat的datetime默认值为now(),但一直提示错误!
我们知道Mysql关于当前时间的表达方式有很多:

  • NOW()
  • LOCALTIME
  • LOCALTIME()
  • LOCALTIMESTAMP
  • LOCALTIMESTAMP()
  • CURRENT_TIMESTAMP
  • CURRENT_TIMESTAMP()

最终只有这个通过:CURRENT_TIMESTAMP

如果设置为其他,出现如下错误:
在这里插入图片描述


正确的方式设置如下:
在这里插入图片描述

2. datetime和timestamp的区别

实战运用中,datetime和timestamp比较常用,但也有time、date等属性,具体差别如下:

类别格式取值范围存储
yearYYYY1901 到 21551byte
timeHH:MM:SS-838:59:59 到 838:59:593byte
dateYYYY-MM-DD1000-01-01 到 9999-12-313byte
datetimeYYYY-MM-DD HH:MM:SS1000-01-01 00:00:00 到 9999-12-31 23:59:598byte
timestampYYYY-MM-DD HH:MM:SS1970-01-01 00:00:01 到 2038-01-19 03:14:07 (UTC时间转换)4byte

可以看出datetime和timestamp两者的格式一样、取值范围对于现在来说也没什么区别

在操作navicat的时候,datetime 和 timestamp 默认值为null,则保存的时候都是null值
唯一一个可以存储当前时间的是timestamp,将其属性设置为 CURRENT_TIMESTAMP

3. 补充

  1. Navicat 设置时间的属性还有date 、datetime等,但都没有最新的时间表示!
  2. 在mysql 中的字段应该这样表示:

如果是mysql版本比较低:(CURRENT_TIMESTAMP 版本较高可能失效,可试试now() )

`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  • 1
  • 2

mysql版本比较高:

  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_time` datetime DEFAULT NULL COMMENT '修改时间',
  • 1
  • 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/514284
推荐阅读
相关标签
  

闽ICP备14008679号