MySQL TIMESTAMP(时间戳)详细解释

当你创建一个表假设表中有类型的字段TIMESTAMP,该字段默认情况下,语句生成:

CREATE TABLE `test` (
  `id` int(11) DEFAULT NULL,
  `ctime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=gbk

假设有两个字段类型为TIMESTAMP,则生成语句为:

CREATE TABLE `test` (
  `id` INT(11) DEFAULT NULL,
  `ctime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `utime` TIMESTAMP NOT NULL DEFAULT ‘0000-00-00 00:00:00‘
) ENGINE=INNODB DEFAULT CHARSET=gbk

TIMESTAMP设置默认值是Default CURRENT_TIMESTAMP、

TIMESTAMP设置随着表变化而自己主动更新是ON UPDATE CURRENT_TIMESTAMP

一个表中至多仅仅能有一个字段设置CURRENT_TIMESTAMP(当前时间)

1、TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 

在创建新记录和改动现有记录的时候都对这个数据列刷新
 
2、TIMESTAMP DEFAULT CURRENT_TIMESTAMP 

在创建新记录的时候把这个字段设置为当前时间,但以后改动时,不再刷新它

3、TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 

在创建新记录的时候把这个字段设置为0,以后改动时刷新它

作者:

viewmode=contents" style="color: rgb(255, 153, 0); text-decoration: none; font-family: Arial; font-size: 14px; line-height: 26px;">itmyhome

来源:http://blog.csdn.net/itmyhome1990/article/details/39342245

时间: 2024-10-07 14:43:17

MySQL TIMESTAMP(时间戳)详细解释的相关文章

MySQL TIMESTAMP(时间戳)详解

在创建表时如果表中有一个字段类型为TIMESTAMP,则该字段默认的生成语句为: CREATE TABLE `test` ( `id` int(11) DEFAULT NULL, `ctime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=gbk 如果有两个字段类型为TIMESTAMP,则生成语句为: CREATE TABLE `t

mysql常用配置---详细解释

mysql配置(部分常用的参数) [mysqld] socket = /tmp/mysql.sock # 为MySQL客户程序与服务器之间的本地通信指定一个套接字文件(Linux下默认是/var/lib/mysql/mysql.sock文件) port             = 3306 # 指定MsSQL侦听的端口 skip-name-resolve #禁止MySQL对外部连接进行DNS解析,使用这一选项可以消除MySQL进行DNS解析的时间.但需要注意,如果开启该选项, 则所有远程主机连接

MySQL——约束(constraint)详细解释

约束是什么用来干嘛?约束实际上就是表中数据的限制条件作用:表在设计的时候加入约束的目的就是为了保证表中的记录完整和有效比如一些字段的唯一性,将一些字段约束成外键 约束种类:非空约束(not null)唯一性约束(unique)主键约束(primary key) PK外键约束(foreign key) FK检查约束(目前MySQL不支持.Oracle支持) A.非空约束用not null约束的字段不能为null值,必须给定具体的数据创建表,给字段添加非空约束(创建用户表,用户名不能为空) crea

mysql TIMESTAMP(时间戳)详解

TIMESTAMP的变体 1,TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP  在创建新记录和修改现有记录的时候都对这个数据列刷新 2,TIMESTAMP DEFAULT CURRENT_TIMESTAMP  在创建新记录的时候把这个字段设置为当前时间,但以后修改时,不再刷新它 3,TIMESTAMP ON UPDATE CURRENT_TIMESTAMP  在创建新记录的时候把这个字段设置为0,以后修改时刷新它 4

Android中时间戳的详细解释

Android中时间戳的详细解释: (1).定义: 时间戳就是根据当前系统时间生成的一组随机数字. (2).作用: 作为对数据唯一性的一种判断依据.避免了重复修改数据所带来的错误! (3).应用: (1).在银行account表中建立时间戳字段timestamp,设定为文本类型varchar. (2).当银行A读取account表中的存款字段时,同时也读取时间戳字段,比如123456. (3).当银行A修改完存款数值后,进行存盘操作时,将先前读取的时间戳123456与当时表中的时间戳进行一次对比

mysql status 详细解释

状态名 作用域 详细解释 Aborted_clients Global 由于客户端没有正确关闭连接导致客户端终止而中断的连接数 Aborted_connects Global 试图连接到MySQL服务器而失败的连接数 Binlog_cache_disk_use Global 使用临时二进制日志缓存但超过binlog_cache_size值并使用临时文件来保存事务中的语句的事务数量 Binlog_cache_use Global 使用临时二进制日志缓存的事务数量 Bytes_received Bo

Mysql错误编码和解释表

Mysql错误编码和解释表1.错误消息的组成 一共由三部分组成 mysql数字错误代码,这个数字的mysql的特定值,不可以移植到其它数据库系统. 一个五位长度的sqlstate值,这些值取自ANSI SQL和ODBC,并且更加标准化.并不是所有的MySQL错误号都具有相应的SQLSTATE值.在这些情况下,使用'HY000' (一般错误). 错误的消息描述 2.一些额外的说明 如果需要错误检查,请使用错误代码,而不是错误消息. 如果数据库管理员更改语言设置,则会影响错误消息的语言. 错误代码在

mysql timestamp字段定义的

Cause: java.sql.SQLException: Cannot convert value '2017-07-26 20:40:41.000000' from column 10 to TIMESTAMP.; SQL []; Cannot convert value '2017-07-26 20:40:41.000000' from column 10 to TIMESTAMP.; nested exception is java.sql.SQLException: Cannot co

MySQL和时间戳有关的函数

1. MySQL 获得当前时间戳函数:current_timestamp, current_timestamp()mysql> select current_timestamp, current_timestamp();+---------------------+---------------------+| current_timestamp | current_timestamp() |+---------------------+---------------------+| 2008-