首页 > 解决方案 > 在mysql存储过程中获取持续时间并在表中更新

问题描述

我有像我的打击代码这样的时间字符串,我想不时比较那个时间,然后如果持续时间超过 15 分钟,我将更新表中的一个字段

CREATE DEFINER=`root`@`localhost` PROCEDURE `EXPIRESESSION`()
wholeblock:BEGIN
    declare str VARCHAR(900) default '';
    SET str='2019-06-13 09:56:44,2019-06-13 13:49:46,';
    WHILE (LOCATE(',', str) > 0)
    DO
    SET @value = ELT(1, str);
    SET str= SUBSTRING(str, LOCATE(',',str) + 1);
        SET @duration=(SELECT TIMESTAMPDIFF(MINUTE, (SELECT B.logtime FROM users B WHERE B.logtime IS NOT NULL), NOW()));
        IF(@duration>15) THEN           
            UPDATE users SET logtime =null where logtime = str;
        END IF;
    END WHILE;
END

标签: mysqlstored-procedures

解决方案


推荐阅读