MySQL - Default a date (timestamp) field to now

MySQL字段默认值设置

 

MySQL DATE syntax FAQ: How do I set a MySQL DATE field to default to "now", i.e., the current time?

Setting the date to "now"

Unfortunately you can't default a MySQL DATE field to "now", but you can get the "now" behavior with a MySQL TIMESTAMP field. The syntax to create a MySQL TIMESTAMP "now" field is:

last_changed timestamp not null default now(),

  

where last_changed is the name of my field, timestamp is the type of field, it can't be null, and the date/time default is now().

Now when you do a MySQL INSERT, just skip this field in your MySQL INSERT statement, and this field will default to the current date/time.

Example

To be clear about how this works, here's a complete example of how to default a MySQL timestamp field to "now":

mysql> create table test (foo int, ts timestamp default now());
Query OK, 0 rows affected (0.20 sec)

mysql> desc test;
+-------+-----------+------+-----+-------------------+-------+
| Field | Type      | Null | Key | Default           | Extra |
+-------+-----------+------+-----+-------------------+-------+
| foo   | int(11)   | YES  |     | NULL              |       |
| ts    | timestamp | NO   |     | CURRENT_TIMESTAMP |       |
+-------+-----------+------+-----+-------------------+-------+
2 rows in set (0.02 sec)

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

mysql> select * from test;
+------+---------------------+
| foo  | ts                  |
+------+---------------------+
|    1 | 2010-12-15 14:20:59 |
+------+---------------------+
1 row in set (0.02 sec)

  

Summary

I hope this MySQL timestamp example has been helpful. As usual, if you have any questions or comments, just leave a note below.

转载于:https://www.cnblogs.com/hephec/p/4586866.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值