Sql 创建默认为历元时间的字段

Sql 创建默认为历元时间的字段,sql,mysql,Sql,Mysql,我需要为一个表创建一个timestamp字段,该表的行需要在一定时间后过期。如果我使用以下选项: `timestamp` TIMESTAMP DEFAULT NOW(), 它以一种人类可读的格式显示时间,如果我能用纪元时间来显示时间,那么我就可以用秒来计算了。是否有一种方法可以创建一个字段,在默认情况下以历元时间创建行时显示当前时间?谢谢 您可能希望在SELECT语句中使用该函数,如下例所示: CREATE TABLE test_tb (`timestamp` TIMESTAMP DEFAUL

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

`timestamp` TIMESTAMP DEFAULT NOW(),
它以一种人类可读的格式显示时间,如果我能用纪元时间来显示时间,那么我就可以用秒来计算了。是否有一种方法可以创建一个字段,在默认情况下以历元时间创建行时显示当前时间?谢谢

您可能希望在
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)

啊,我明白了,所以没有办法让它默认以这种方式输入。但是我可以在我的
select
语句中使用它,总比什么都没有好。谢谢你,丹尼尔!只要我允许,我会尽快将您标记为正确。@Ben:事实上,
时间戳
数据类型以历元格式存储日期。但是,默认情况下,
SELECT
语句以“人类可读的形式”呈现值。使用
UNIX\u TIMESTAMP()。谢谢我感谢你的帮助!