默认时间戳(Timestamp)类型的取值范围为'1970-01-01 00:00:01' UTC至'2038-01-19 03:14:07' UTC,数据精确到秒级别,该取值范围包含约22亿个数值,因此在MySQL内部使用4个字节INT类型来存放时间戳数据:
1、在存储时间戳数据时,先将本地时区时间转换为UTC时区时间,再将UTC时区时间转换为INT格式的毫秒值(使用UNIX_TIMESTAMP函数),然后存放到数据库中。
2、在读取时间戳数据时,先将INT格式的毫秒值转换为UTC时区时间(使用FROM_UNIXTIME函数),然后再转换为本地时区时间,最后返回给客户端。
(Timestamp)时间戳列可以有四张组合定义,其含义分别为:
1、当字段定义为timestamp,表示该字段在插入和更新时都不会自动设置为当前时间。
2、当字段定义为timestamp DEFAULT CURRENT_TIMESTAMP,表示该字段仅在插入且未指定值时被赋予当前时间,再更新时且未指定值时不做修改。
3、当字段定义为timestamp ON UPDATE CURRENT_TIMESTAMP,表示该字段在插入且未指定值时被赋值为"0000-00-00 00:00:00",在更新且未指定值时更新为当前时间。
4、当字段定义为timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,表示该字段在插入或更新时未指定值,则被赋值为当前时间。
MySql 怎样查询数据库当前时间首先通过运行数据库客户端管理软件SQLyogEnt进行查询,第一步运行SQLyogEnt,在桌面找到SQLyogEnt的软件图标,用户双击这个图标。
2.然后输入数据库的信息,在界面左下角点击【连接】按钮,连接数据库。
3.连接上数据库后就进入了数据库管理软件的控制台,控制台的左侧以目录的形式显示了当前登录的用户和数据库以及数据库的表。目录的右边从上到下有2个空白的长方形框,上方的是SQL查询语言的输入框,下方显示的是查询所得到的结果。
设置某字段为当前时间,修改日期类型为timestamp并允许空,如下:CREATE
TABLE
`test`
(`aaaa`
varchar(50)
NOT
NULL,`createday`
timestamp
NULL
DEFAULT
CURRENT_TIMESTAMP
ON
UPDATE
CURRENT_TIMESTAMP)
ENGINE=InnoDB
DEFAULT
CHARSET=utf8
如果是在navicat下 *** 作的话,设置字段的类型为timestamp,默认值写上
CURRENT_TIMESTAMP.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)