怎么在向数据库存数据的同时,自动加上数据库的时间戳。谢谢回答,在线等

解决方案 »

  1.   

    在表中添加一个 timestamp属性的列 每次你插入数据 修改数据 它都会自动帮你记录时间的 ~~alter table tb add ts timestamp 
      

  2.   


    mysql> alter table t1 add ttime timestamp;
    Query OK, 0 rows affected (0.44 sec)
    Records: 0  Duplicates: 0  Warnings: 0mysql> desc t1;
    +-------+-----------+------+-----+-------------------+-----------------------------+
    | Field | Type      | Null | Key | Default           | Extra                       |
    +-------+-----------+------+-----+-------------------+-----------------------------+
    | a     | int(11)   | YES  |     | NULL              |                             |
    | b     | char(10)  | YES  |     | NULL              |                             |
    | ttime | timestamp | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
    +-------+-----------+------+-----+-------------------+-----------------------------+
    3 rows in set (0.00 sec)mysql> insert into t1(a,b) values (1,'a');
    Query OK, 1 row affected (0.05 sec)mysql> select * from t1;
    +------+------+---------------------+
    | a    | b    | ttime               |
    +------+------+---------------------+
    |    1 | a    | 2010-08-10 12:14:18 |
    +------+------+---------------------+
    1 row in set (0.00 sec)mysql>
    每个表只能有一个 timestamp字段,此字段在修改记录的时候会自动更改为当前系统时间。
      

  3.   

    按照一、二楼的方法,使用一个timestamp 字段,并设置其默认值为CURRENT_TIMESTAMP 即可。
      

  4.   

    MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html
      

  5.   

    TIMESTAMP 本身就是存放的秒数1281507239  ,只不是显示形式是 2010-08-10 12:14:18。你可以在查询的时候用+0处理。 select col+0 from table1
      

  6.   

    因为目前mysql不支持在default 后面+函数的形式 所以不能将时间通过unix_timestamp(now())转换所以目前只能通过这样的形式 
    alter table tb add ts timestamp然后你要调用ts的时候使用
    select unix_timestamp(ts) as ts from tb