先抛出一个问题:如果我们创建一个文章中,表中有一个字段表示文章的发布时间,这个时间有一个默认值,这个值就是插入这条记录的时间。如何实现呢?
其实在创建数据库表时,我们经常需要创建类似的字段。现在我们来分析一下如何创建这个字段。
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!
发布时间:2013/10/10 14:42:43 | 编辑:小小菜鸟 | 分类:MySQL | 浏览: