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

Ben*_*tis 7 mysql sql

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

`timestamp` TIMESTAMP DEFAULT NOW(),
Run Code Online (Sandbox Code Playgroud)

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

Dan*_*llo 6

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

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)
Run Code Online (Sandbox Code Playgroud)