MySQL创建一个默认值为当前时间的字段


关键词

MySQL 字段 当前时间

摘要

本文介绍在MySQL创建表时,如何创建一个默认值为当前时间的时间类型的时段。

先抛出一个问题:如果我们创建一个文章中,表中有一个字段表示文章的发布时间,这个时间有一个默认值,这个值就是插入这条记录的时间。如何实现呢?

其实在创建数据库表时,我们经常需要创建类似的字段。现在我们来分析一下如何创建这个字段。
1、MySQL中有一个时间函数now(),它表示当前时间。
2、MySQL创建字段或修改字段时,可以使用default这个关键词来表示默认值。

好了,有了以上两点基础,我们就可以创建一个默认值为当前时间的字段了。

mysql> create table test(
    -> test_info varchar(20),
    -> test_time datetime not null default now()
    -> );
Query OK, 0 rows affected (0.09 sec)

执行成功,我们看看表结构:
mysql> describe test;
+-----------+-------------+------+-----+-------------------+-------+
| Field     | Type        | Null | Key | Default           | Extra |
+-----------+-------------+------+-----+-------------------+-------+
| test_info | varchar(20) | YES  |     | NULL              |       |
| test_time | datetime    | NO   |     | CURRENT_TIMESTAMP |       |
+-----------+-------------+------+-----+-------------------+-------+
2 rows in set (0.03 sec)

表结构也没有问题,我们尝试插入两条数据看看:
mysql> insert into test(test_info) values('hi');
Query OK, 1 row affected (0.34 sec)

mysql> insert into test(test_info) values('hello');
Query OK, 1 row affected (0.03 sec)

mysql> select * from test;
+-----------+---------------------+
| test_info | test_time           |
+-----------+---------------------+
| hi        | 2013-10-10 14:41:26 |
| hello     | 2013-10-10 14:41:31 |
+-----------+---------------------+
2 rows in set (0.02 sec)

从最终的结果来看,Perfect!test_time字段,我们根本就没有插入值,系统为它自动生成了一个当时时间,这就是我们要的结果。

关于MySQL创建一个默认值为当前时间的字段,本文就介绍这么多,希望对大家有所帮助,谢谢!

 

要饭二维码

洪哥写文章很苦逼,如果本文对您略有帮助,可以扫描下方二维码支持洪哥!金额随意,先行谢过!大家的支持是我前进的动力!

文章的版权

本文属于“洪哥笔记”原创文章,转载请注明来源地址:MySQL创建一个默认值为当前时间的字段:http://www.splaybow.com/post/mysql-column-default-now.html

如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:8771947!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D

« MySQL使用count()来统计记录条数 MySQL中使用Like进行模糊查询 »