首页 > 数据库 > MySQL > 正文

MySQL设置当前时间为默认值方法

2024-07-24 12:38:28
字体:
来源:转载
供稿:网友

由于MySQL目前字段的默认值不支持函数,所以用create_time datetime default now()的形式设置默认值是不可能的.

代替的方案是使用TIMESTAMP类型代替DATETIME类型.

CURRENT_TIMESTAMP:当我更新这条记录的时候,这条记录的这个字段不会改变.

CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP:当我更新这条记录的时候,这条记录的这个字段将会改变,即时间变为了更新时候的时间.

注意一个UPDATE设置一个列为它已经有的值,这将不引起TIMESTAMP列被更新,因为如果你设置一个列为它当前的值,MySQL为了效率而忽略更改,如果有多个TIMESTAMP列,只有第一个自动更新.

下面为您介绍MySQL设置当前时间为默认值的实现全步骤:

数据库:test_db1

创建表:test_ta1

字段:

id 编号,自增 且为主键,createtime 创建日期,默认值为当前时间.

方法一,用alert table语句创建,代码如下:

  1. use test_db1;   create table test_ta1(   id mediumint(8) unsigned not nulll auto_increment,   createtime datetime,   primary key (id)   )engine=innodb default charset=gbk;   alert table test_ta1 change createtime createtime timestamp not null default now();   

方法二,直接创建,代码如下:

  1. use test_db1;   create table test_ta1(   id mediumint(8) unsigned not nulll auto_increment,   createtime timestamp not null default current_timestamp,   primary key (id)   )engine=innodb default charset=gbk;   

方法三,使用可视化工具,如 mysql-front,创建.

右击createtime属性,把Type属性值改为timestamp,default 属性选择<INSERT-TimeStamp>,以上就是MySQL设置当前时间为默认值的方法介绍.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表