创建默认为纪元时间的字段

时间:2010-08-15 01:11:08

标签: sql mysql

我需要为一个表创建一个时间戳字段,该表的行需要在一段时间后过期。如果我使用以下内容:

`timestamp` TIMESTAMP DEFAULT NOW(),

它以人类可读的格式显示时间,如果我能在纪元时间内获得它会更容易,所以我可以用秒计算。有没有办法创建一个字段,默认情况下会在纪元时间创建一行时显示当前时间?谢谢!

1 个答案:

答案 0 :(得分:6)

您可能希望在SELECT语句中使用UNIX_TIMESTAMP()函数,如下例所示:

CREATE TABLE test_tb (`timestamp` TIMESTAMP DEFAULT NOW());
INSERT INTO test_tb VALUES (DEFAULT);

SELECT UNIX_TIMESTAMP(`timestamp`) epoch, `timestamp` FROM test_tb;
+------------+---------------------+
| epoch      | timestamp           |
+------------+---------------------+
| 1281834891 | 2010-08-15 03:14:51 |
+------------+---------------------+
1 row in set (0.00 sec)