在平常中,我们总会有这样的需求,在插入或者修改时插入当前系统时间,有些童鞋的做法是把时间字段类型设置为datetime
,然后在PHP端用date函数拼接SQL语句,或者使用NOW()
函数。其实在MySQL中,datetime
只是表示数据类型为YYYY-mm-dd HH:ii:ss
格式,而timestamp
类型则表示当前系统时间,无需写值。
我们创建一个b表,字段t1类型为datetime
,t2类型为timestamp
mysql> create table b(t1 datetime,t2 timestamp);
Query OK, 0 rows affected (0.01 sec)
mysql> desc b;
+-------+-----------+------+-----+-------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-----------+------+-----+-------------------+-----------------------------+
| t1 | datetime | YES | | NULL | |
| t2 | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+-------+-----------+------+-----+-------------------+-----------------------------+
2 rows in set (0.00 sec)
...