mysql datetime取当前时间
mysql中有一个“注册时间”字段,datetime类型,约束为not null。
我希望再设一个默认值为当前时间。
网上找了很多,都说要转成timestamp类型。
但timestamp类型好象只要修改了该条字段的内容就会自动更改为当前时间(是不是我的理解有错)。
那注册时间肯定不能发生改变呀,请问怎么办?
第一次来,望好心人解答
------解决方案--------------------是你理解错了
mysql> create table testtime(id int,rowdate timestamp default now());
Query OK, 0 rows affected (0.11 sec)
mysql> insert into testtime(id) values(1);
Query OK, 1 row affected (0.13 sec)
mysql> select * from testtime;
+------+---------------------+
| id | rowdate |
+------+---------------------+
| 1 | 2011-05-22 05:20:22 |
+------+---------------------+
1 row in set (0.00 sec)
mysql> update testtime set id=2;
Query OK, 1 row affected (0.13 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from testtime;
+------+---------------------+
| id | rowdate |
+------+---------------------+
| 2 | 2011-05-22 05:20:22 |
+------+---------------------+
1 row in set (0.00 sec)
------解决方案--------------------只要你不加 ON UPDATE CURRENT_TIMESTAMP 就不会在更新的时候改变了。
有类似问题的时候,建议楼主首先应该尝试看一下MYSQL官方手册。