[英]How to store number of seconds in database?
我想将秒数作为整数存储在数据库中。 像这样:
1451425369
但是我找不到合适的功能来做到这一点。 CURRENT_TIMESTAMP
, CURTIME()
, NOW()
和..将像这样存储它:
2014-11-11 12:45:34
应当指出,我无法访问PHP之类的东西,因为我想使用TRIGGER
。 所以我不能使用类似time()
东西。 有什么主意吗
1451425369看起来像UNIX时间戳(2015-12-29 21:42 UTC)。 MySQL的TIMESTAMP
字段类型在TIMESTAMP
存储为UNIX时间戳,您可以通过执行以下操作来检索该基础时间戳值:
SELECT UNIX_TIMESTAMP(field_name) FROM table_name;
如果您需要当前的UNIX时间戳,不带任何参数的UNIX_TIMESTAMP()
将为您提供当前的整数值。 您可以在INSERT
/ UPDATE
使用它,而不会出现问题。
听起来您正在使用MySQL数据库。 如果要使用Unix时间戳,例如您提到的第一个整数值,则可以使用UNIX_TIMESTAMP()
。 如果您想要今天的秒数,从凌晨12:00的0开始,可以存储(HOUR(CURTIME())*60*60)+(MINUTE(CURTIME())*60)+SECOND(CURTIME())
。
INSERT INTO ttestsec(Sec) VALUES((HOUR(CURTIME())*60*60)+(MINUTE(CURTIME())*60)+SECOND(CURTIME()));
CREATE TABLE `abc` (
`pk` INT(10) NOT NULL AUTO_INCREMENT,
`id` VARCHAR(10) NULL DEFAULT NULL,
`timestamp` INT(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`pk`)
)
ENGINE=InnoDB;
INSERT INTO abc (id, timestamp) VALUES ('', UNIX_TIMESTAMP());
-- Wait a few seconds
INSERT INTO abc (id, timestamp) VALUES ('', UNIX_TIMESTAMP());
-- Wait a few seconds
INSERT INTO abc (id, timestamp) VALUES ('', UNIX_TIMESTAMP());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.