mysql - 在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
解决方案
推荐阅读
- sql - SQL Server 更新语句中的死锁问题
- python - Python:如何使用 split() 方法移动输出变量的位置
- php - 如何从表格中显示的会话数组中删除一个值?
- java - Intellij 编辑器因 stackoverflow 冻结
- apache-spark - Spark Streaming:连接被拒绝
- python-3.x - Compute difference in days between two date variables - Python
- javascript - Mapping and object filled with objects React.js/JS
- javascript - 填写数据字段
- twitter-bootstrap - Bootstrap Tooltip - 弹出框周围的奇怪框
- c# - foreach loop stopping after first iteration in