繁体   English   中英

如何在数据库中存储秒数?

[英]How to store number of seconds in database?

我想将秒数作为整数存储在数据库中。 像这样:

1451425369

但是我找不到合适的功能来做到这一点。 CURRENT_TIMESTAMPCURTIME()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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM