我需要为一个表创建一个时间戳字段,该表的行需要在一段时间后过期。如果我使用以下内容:
`timestamp` TIMESTAMP DEFAULT NOW(),
它以人类可读的格式显示时间,如果我能在纪元时间内获得它会更容易,所以我可以用秒计算。有没有办法创建一个字段,默认情况下会在纪元时间创建一行时显示当前时间?谢谢!
答案 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)